類型我使用Visual Studio 2010無法中斷執行。這個過程不是當前正在執行的代碼
我正在一個DLL,它是由IIS
在微軟的過程w3p.exe
加載一個奇怪的問題。當我在另一臺機器上啓動遠程調試器並附加我的本地機器時,一切都很好,我可以調試。 問題是當我在本地運行它。我知道DLL被加載(因爲日誌文件),我可以將調試器附加到進程中。但是,當我嘗試Break all
時出現錯誤,提示
無法中斷執行。此進程當前不在執行您選擇調試的代碼類型。
項目設置肯定是指向剛剛編譯正在運行的DLL的項目,所以我不太瞭解這個錯誤消息。
另外,當我設置斷點沒有任何反應。雖然調試器已連接,因爲當我停止IIS
時,我收到一條錯誤消息,告訴我需要先停止調試器。
我使用的是故意的應用程序錯誤fopen(NULL, NULL)
,這將讓我在調試版本附加一個調試器。但是這相當複雜,因爲我必須在實際開始調試之前手動清除調用堆棧。使用__debugbreak()
沒有幫助,所以我必須使用這種笨拙的解決方法。
所以任何人可以告訴我爲什麼這個遠程工作,而不是在本地?
檢查 - >窗口 - > Modules'窗口,從預期的位置加載。此窗口還顯示調試器是否加載了模塊和pdb位置的調試符號(如果成功)。 – dewaffled
這個DLL沒有其他位置,所以它必須從那裏加載或根本不加載。正如我所說的,我可以在日誌中驗證DLL是否已加載。 – Devolus
@frymode,現在找到解決方案。 – Devolus