0

我創建了一個DLL。源代碼可以被編譯和鏈接。在運行過程中,它以某種方式正常工作,但在某些情況下會崩潰。此時,VC向我顯示一個窗口,詢問我是否打斷或繼續,但它不能告訴代碼中的錯誤在哪裏。在vc調試過程中發現源代碼中的bug位置

我的問題是,是否有可能以任何方式配置VC調試,以便斷點直接設置在發生錯誤的代碼位置?或者我怎樣才能找到源代碼錯誤的位置?

P.s.我用VC快訊2010年

+2

那麼,如果你選擇'休息',它不會把你帶到發生錯誤的位置嗎? – 2011-12-28 19:53:57

+0

不......我剛剛看到一個窗口,告訴我「沒有可用的源代碼,沒有任何符號被加載到任何堆棧框架」。任何想法? – OISS 2011-12-28 23:25:20

+0

然後看起來你正在運行一個發佈版本,而不是一個調試版本。你檢查過了嗎? – 2011-12-29 06:41:40

回答

0

用途:

MessageBox(NULL, NULL, NULL, NULL); 
0

您好,我只是想給我的問題的更新。我發現了代碼中的錯誤。這是一個指針類型變量,它使用了未初始化的內存地址。我的DLL中的代碼行是完全正確的,並沒有導致任何問題。但是在我的代碼之外,一個使用這個變量的DLL然後得到了訪問保護錯誤並導致整個程序崩潰。

我發現問題只是基於代碼中的計時器值。幸運的是,調用我的DLL的母程序可以告訴在這個時間點,這個錯誤發生在它的窗口完全崩潰之前。

相關問題