調(diào)試程序的時(shí)候,一般
1)啟動(dòng)調(diào)試器,比如VC
2)在VC中設(shè)斷點(diǎn)
3)操作程序,使得程序運(yùn)行到斷點(diǎn),停下來(lái)
但是現(xiàn)在我遇到一個(gè)情況,希望調(diào)試的情景是這樣的:雙擊某個(gè)文件,我的程序啟動(dòng)后,這個(gè)時(shí)候我想程序停下來(lái),讓我在VC中調(diào)試它。
但是,雙擊文件后啟動(dòng)的程序,是個(gè)獨(dú)立的exe運(yùn)行程序,肯定不是在VC的運(yùn)行控制下的,VC中設(shè)置的斷點(diǎn)不起作用的。怎么辦呢?
這個(gè)時(shí)候可以在想讓程序停下來(lái)的地方增加指令_asm int 3,debug下編譯好。雙擊文件后運(yùn)行這個(gè)exe,在exe運(yùn)行到_asm int 3時(shí),就會(huì)中斷,而把當(dāng)前的exe運(yùn)行與一個(gè)新的調(diào)試器(一個(gè)新的VC進(jìn)程)結(jié)合起來(lái)。接下來(lái)就像一般的調(diào)試了。
這時(shí)的調(diào)試步驟類似與:
1)程序運(yùn)行
2)遇到特定條件時(shí),_asm int 3把當(dāng)前exe與一個(gè)新的調(diào)試器,比如一個(gè)新的VC進(jìn)程,聯(lián)系起來(lái)
3)在調(diào)試器中調(diào)試exe
:)
1)啟動(dòng)調(diào)試器,比如VC
2)在VC中設(shè)斷點(diǎn)
3)操作程序,使得程序運(yùn)行到斷點(diǎn),停下來(lái)
但是現(xiàn)在我遇到一個(gè)情況,希望調(diào)試的情景是這樣的:雙擊某個(gè)文件,我的程序啟動(dòng)后,這個(gè)時(shí)候我想程序停下來(lái),讓我在VC中調(diào)試它。
但是,雙擊文件后啟動(dòng)的程序,是個(gè)獨(dú)立的exe運(yùn)行程序,肯定不是在VC的運(yùn)行控制下的,VC中設(shè)置的斷點(diǎn)不起作用的。怎么辦呢?
這個(gè)時(shí)候可以在想讓程序停下來(lái)的地方增加指令_asm int 3,debug下編譯好。雙擊文件后運(yùn)行這個(gè)exe,在exe運(yùn)行到_asm int 3時(shí),就會(huì)中斷,而把當(dāng)前的exe運(yùn)行與一個(gè)新的調(diào)試器(一個(gè)新的VC進(jìn)程)結(jié)合起來(lái)。接下來(lái)就像一般的調(diào)試了。
這時(shí)的調(diào)試步驟類似與:
1)程序運(yùn)行
2)遇到特定條件時(shí),_asm int 3把當(dāng)前exe與一個(gè)新的調(diào)試器,比如一個(gè)新的VC進(jìn)程,聯(lián)系起來(lái)
3)在調(diào)試器中調(diào)試exe
:)
posted on 2006-07-06 17:35 flyingxu 閱讀(5910) 評(píng)論(10) 編輯 收藏 引用 所屬分類: C/C++ 、VC/MFC 、Bug of Today