Я хочу отладить приложение, работающее на Windows
, установив точку останова на определенном адресе, ожидая, пока точка останова не будет достигнута, удерживая приложение на паузе в течение определенного периода времени, а затем продолжая. Все это должно выполняться без присмотра (например, сценарием).
Для этого я решил использовать WinDbg
, поскольку поддержка сценариев выглядит многообещающе.
Запуск WinDbg
и присоединение к процессу по имени процесса может, например, сделать это, вызвав следующую команду:
"C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe" -pn my-executable.exe
Установка точки останова выполняется с помощью команды bu
:
bu 0x1337
Продолжение работы с командой g
.
Задержка может быть выполнена с помощью команды .sleep
:
.sleep milliseconds
Для написания WinDbg
скриптов этот PDF может быть полезным.
Как я могу собрать все это вместе? Я не представлял, как можно выполнить задержку после достижения точки останова, и при этом я не знаю, как выполнить все эти действия (включая присоединение) только из командной строки, вообще не загружая графический интерфейс WinDbg
.