我有一個非常奇怪的與自編碼DLL調試有關的問題。我有一個MFC驅動的基於對話框的應用程序,幾個靜態鏈接的項目和幾個在運行時加載的DLL項目。調試器忽略動態加載的DLL中的錯誤
我構建調試解決方案,運行應用程序,我可以很容易地調試這些DLL項目。現在的問題。如果在DLL中一些明顯的運行時錯誤像下面
int* i = 0;
*i = 4;
調試斷言沒有錯誤,拋出也不例外,默默地返回甚至沒有(看到)堆棧返回到怠速狀態。看起來好像當我在語句*i = 4;
上點擊F10時,控制權返回到主應用程序窗口,程序繼續執行,因爲什麼都沒有發生!如果代碼中沒有錯誤,則執行正常。但我希望在這種情況下可以斷言錯誤!它們是 - 在主應用程序的代碼中。
我使用LoadLibrary()函數將我的DLL加載到應用程序中。 DLL本身具有靜態鏈接的MFC,與解決方案中的其他項目一樣。
任何想法?甚至不知道谷歌有什麼問題...