我已经设置了一个断点,它应该打印一个指针然后继续,因为我不想停在那里。
bu 410cc8 ".printf \"Class: %08lX Filebuffer: %08X\\n\", eax, edx; g"
现在的问题是,当我单步执行并触发这样的断点时,如下所示:
1 mov eax, [ebp+var_10]
2 lea edx, [eax+2Ch]
3 mov eax, ebx
4 call ReadFileFkt_2
5 mov eax, [ebp+var_10]
因此,当我在第 4 行并跨过它时,会触发上述断点并打印消息。但后来调试器再也没有回来,因为在断点我使用“g”继续,所以单步被删除。
如果我不使用“g”,那么断点将被击中,调试器会停在那里,所以我必须追踪回到我从哪里来的路。当然,我可以在调用之后设置断点,但是我必须记住在代码的其他部分也这样做,因为我不知道断点何时从某个调用层次结构的深处触发。