Windbg:有没有办法导入/导出 native 断点?

标签 windbg breakpoints

有没有办法导入/导出原生断点?

我现在做的是有一个像下面这样有趣的断点的记事本。

bp foo!bar;bp foo!barbar; bp foo!barbarbar; .................

我每次都通过从记事本复制并粘贴到 windbg 的命令窗口来手动运行上面的代码。

附言有没有办法告诉 windbg 直接运行记事本文件?而不是复制和粘贴?

谢谢,

最佳答案

如果想保存断点但又不想使用工作空间重新使用断点

这样做

.logopen break.txt;.bpcmds;.logclose

然后当你想重新申请的时候

只需做 $<break.txt

样本

0:000> bl
0:000> bp calc!WinMain
0:000> bp calc!atanhrat
0:000> bu ntdll!ZwCreateIoCompletion ".echo foo"
0:000> bu ntdll!ZwCreateIoCompletion ".echo foo;gc"
breakpoint 2 redefined
0:000> bp calc!xorrat
0:000> g

Breakpoint 0 hit

calc!WinMain:
01001f51 b8ee280101      mov     eax,offset calc!terminate+0x6 (010128ee)
0:000> .logopen break.txt
Opened log file 'break.txt'
0:000> .bpcmds
bp0 0x01001f51 ;
bp1 0x0101090e ;
bu2 ntdll!ZwCreateIoCompletion ".echo foo;gc";
bp3 0x0100c474 ;
0:000> .logclose
Closing open log file break.txt
0:000> .restart

ntdll!DbgBreakPoint:
7c90120e cc              int     3
0:000> bl  <<<<<<<<<<<<<<<<<---------------- no breakpoints in new calc.exe 
0:000> $<break.txt
0:000> Opened log file 'break.txt'
        ^ Syntax error in 'Opened log file 'break.txt''
0:000> 0:000> .bpcmds
       ^ Syntax error in '0:000> .bpcmds'
0:000> bp0 0x01001f51 ;
0:000> bp1 0x0101090e ;
0:000> bu2 ntdll!ZwCreateIoCompletion ".echo foo;gc";
0:000> bp3 0x0100c474 ;
0:000> 0:000> .logclose
       ^ Syntax error in '0:000> .logclose'

0:000> bl  <<<<<<<<<<<<<<<<<--------------------------- all old bps restored
 0 e 01001f51     0001 (0001)  0:**** calc!WinMain
 1 e 0101090e     0001 (0001)  0:**** calc!atanhrat
 2 e 7c90d0be     0001 (0001)  0:**** ntdll!NtCreateIoCompletion ".echo foo;gc"
 3 e 0100c474     0001 (0001)  0:**** calc!xorrat

关于Windbg:有没有办法导入/导出 native 断点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16437847/

相关文章:

javascript - 解除绑定(bind)、销毁或删除先前声明的 jQuery 函数

c++ - 调试时如何在满足if语句中的条件时停止

c# - 断点绑定(bind)失败 - Visual Studio 2015

windows - Windbg !heap -s 和 !heap -stat 命令在输出上不一致

debugging - 崩溃调试Win32应用程序

c# - 为什么这不会在事件未取消订阅时导致内存泄漏

c++ - 从外部源向 Windows 调试器发送调试事件

Windbg - 检测崩溃转储所需的符号

windbg - 如何在windbg中设置不会停止执行程序的断点,只需记录称为

java - 调试异步任务时 Android Studio 中的奇怪调试器行为