windbg: вывод команды в текстовый файл
Как я могу сохранить вывод команды в WinDbg в текстовый файл?
4 ответа
Запустите WinDbg из командной строки, используя опцию -logo:
windbg.exe -logo logfile.txt
Это сделает все записанное в указанный файл. Вы можете найти более подробную информацию о параметрах командной строки здесь.
Или, если вы уже находитесь в сеансе отладки, вы можете использовать команду.logopen, чтобы начать ведение журнала. Для получения дополнительной информации об этой команде см. Здесь
Или вы можете нажать edit->Open/Close log file в WinDbg GUI.
Больше информации о файлах журнала здесь.
Вы можете использовать.logopen, все команды, которые вы вводите и отвечаете от windbg, будут регистрироваться, а затем использовать.logclose для сброса данных в
Вы также можете воспользоваться графическим редактором WinDbg "Редактировать> Написать текст окна в файл...", если вам будет проще.
Чтобы отправить вывод определенной команды в файл, возьмите (я использую Tee.bat), поместите его в каталог, на который распространяется Windows.PATH
переменная среды (или добавьте каталог, в который вы ее поместили). Затем используйте следующий синтаксис из графического интерфейса WinDbg для отправки вывода команды в файл.
.shell -ci "<command>" tee <file>
.shell -ci "!gcroot 000002b56c414750" tee c:\path\out_01.log
есть недокументированный!!
аббревиатура.shell
. Итак, вы можете просто сделать:
!! -ci "!gcroot 000002b56c414750" tee c:\path\out_01.log
Фон
Вы можете запускать команды оболочки в графическом интерфейсе WinDbg. Синтаксис : _
.shell [Options] [ShellCommand]
.shell -i InFile [-o OutFile [-e ErrFile]] [Options] ShellCommand
Здесь я нашел решение отправить вывод команды в буфер обмена.
.shell -ci "<command>" clip
Если вы можете отправить вывод в , разве нельзя отправить его в файл, например?
.shell -ci "<command>" > <file>
.shell -ci "!gcroot 000002b56c414750" > c:\path\out_01.log
Было бы неплохо, но это не работает . В документах MS я нашел этот пример.
.shell -ci "!process 0 7" perl.exe parsemyoutput.pl
Таким образом, можно отправить вывод в приложение. Как и в приведенном выше примере с использованиемclip
. И вот тут-то и появился TeeTee . Но вы можете использовать любой другой скрипт или .exe, который берет вывод и сохраняет его в файле или в другом месте.