簡體   English   中英

Visual Studio即時調試器立即退出

[英]Visual Studio Just-in-Time Debugger quits immediately

我有一個WinForms托管應用程序,它調用了本機C ++ dll。 我已經為項目啟用了托管和非托管混合調試,並且在調試項目時可以進入非托管代碼。 我對JIT調試感興趣,因為在調試器之外運行調試版本並僅在違反某些斷言后才開始調試,這要快得多。 當托管代碼中引發異常時,JIT Debugger可以正常工作。 當我JIT調試獨立的C ++應用程序時,它也可以工作。 但是,每當從WinForms應用程序調用的非托管代碼中引發異常時,在啟動調試會話后,JIT調試器就會立即退出。 我已在“選項/調試/及時”列表中啟用了所有JIT調試器。 是否完全支持此方案?

更新

我進行了更多測試,我可以看到

  1. 此問題並不特定於WinForms應用程序。 當托管控制台應用程序調用本機dll並引發斷言異常時,JIT Debug也將失敗。
  2. 該問題似乎並不取決於框架版本。 我嘗試了3.5、4、4.5、4.6版本。
  3. 當我將調試器附加到其托管的主機應用程序時,調試器也無法打破非托管代碼中的斷言異常。

我以前經歷過這種情況。 我認為問題在於調試器無法捕獲該異常。

我做了以下工作,也許這會有所幫助。

單擊調試-> Windows->異常設置。

或者,您可以在快速啟動時搜索“例外”。

您可能會發現許多默認設置未捕獲到異常。

我覺得我好笨。 解決方案就在我眼前。 Visual Studio即時調試器對話框中有一個選項。 它稱為“手動選擇調試引擎”。 必須選擇托管引擎和本機引擎。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM