調試程序的時候,一般
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
:)