我有一個WinForms託管應用程序調用本機C++ dll。我已經爲該項目啓用了混合託管和非託管調試,並且在調試項目時能夠進入非託管代碼。 我對JIT調試很感興趣,因爲在調試器外面運行調試版本要快得多,並且只有在違反某些斷言後纔開始調試。當託管代碼中引發異常時,JIT調試器正常工作。當我JIT調試一個獨立的C++應用程序時,它也可以工作。但是,無論何時在從WinForms應用程序調用的非託管代碼內引發異常,JIT調試程序在啓動調試會話後立即退出。我已經在選項/調試/實時列表中啓用了所有的JIT調試器。這種情況是否支持?Visual Studio即時調試器立即退出
UPDATE
我已經運行一些測試,我可以看到
- 這個問題是不特定的WinForms應用程序。當託管控制檯應用程序調用本機dll時JIT調試失敗,這引發了斷言異常。
- 該問題似乎不依賴於框架版本。我試過版本3.5,4,4.5,4.6。
- 當我將調試器附加到託管主機應用程序時,調試器也無法在非託管代碼中斷言斷言異常。
謝謝你,但是這似乎並不在這裏如此。斷言異常已啓用,並且在運行獨立本機應用程序時正確捕獲。只有在從託管代碼調用的本地dll內引發斷言異常時,它纔會進行jit-debug。但以防萬一我已啓用所有例外。同樣的問題。 – Max