调试程序的时候,一般
1)启动调试器,比如VC
2)在VC中设断点
3)操作程序,使得程序运行到断点,停下来
但是现在我遇到一个情况,希望调试的情景是这样的:双击某个文件,我的程序启动后,这个时候我想程序停下来,让我在VC中调试它。
但是,双击文件后启动的程序,是个独立的exe运行程序,肯定不是在VC的运行控制下的,VC中设置的断点不起作用的。怎么办呢?
这个时候可以在想让程序停下来的地方增加指令_asm int 3,debug下编译好。双击文件后运行这个exe,在exe运行到_asm int 3时,就会中断,而把当前的exe运行与一个新的调试器(一个新的VC进程)结合起来。接下来就像一般的调试了。
这时的调试步骤类似与:
1)程序运行
2)遇到特定条件时,_asm int 3把当前exe与一个新的调试器,比如一个新的VC进程,联系起来
3)在调试器中调试exe
:)