无人值守的WinDbg脚本用于断点和延迟

问题描述 投票:0回答:1

我想通过在某个地址上设置一个断点来调试在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脚本this PDF可能会有所帮助。

我怎么能把它拼凑起来?我没有弄清楚如何在完成断点之后延迟,也不知道如何从命令行单独执行所有这些操作(包括附加)而根本不加载WinDbg GUI。

windows debugging windbg
1个回答
2
投票

你需要睡觉什么

您可以嵌入脚本命令并将其传递给windbg的实例

使用-c switch命令下面列出模块并退出会话

windbg -c“lm; q”calc.exe

你可以把它放在一个bat文件中并像运行bat文件一样

cdb -c "bu %2 \".sleep 5000;g\";g" %1.exe

一个gif显示我如何打破winmain睡眠5秒钟,然后让exe运行到下面

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.