2

У меня только что был Heisenbug, который полностью исчез на мне. Я убежден, что что-то смешное должно было случиться, когда я составлял свою программу несколько дней или неделю назад.

Но, к сожалению, мой буфер истории оболочки Windows (MINGW) не возвращается так далеко. Как я могу организовать запись всех моих действий в командной строке, чтобы я мог проводить подобные исследования в будущем?

С Unix, конечно, вы можете использовать утилиту script . Но Windows не (IME) обрабатывает файлы с той же тщательностью, что и Unix: т.е. ты не можешь | tee logfile произвольная программа и ожидайте нормального взаимодействия с ней. Windows-оболочки не представляют собой гибкий интерфейс pty. Исходя из этого, я серьезно не искал порт утилиты сценариев.

Как человек "окна" сделать это?

2 ответа2

2

Если вы используете bash, вы можете захотеть взглянуть на параметры HISTORY bash, чтобы улучшить размер истории командной строки:

  • HISTSIZE изменяет максимальное количество команд, доступных через команду history
  • HISTFILESIZE изменяет максимальный размер вашего HISTFILE , обычно .bash_history. Если не установлен, HISTFILE не будет усечен, поэтому в нем будет храниться история вашей жизни.
  • Опция histappend добавляет новую историю в файл истории, а не перезаписывает ее.

Пример .bashrc:

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
HISTTIMEFORMAT="%Y-%m-%dT%H:%M:%S%z  "

HISTTIMEFORMAT отметит время вашей истории, что очень полезно при расследовании.

0

Используйте буфер оболочки в Emacs. Размер буфера тогда не связан с количеством строк, сохраненных терминалом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .