私はネイティブC++ dllを呼び出すWinForms管理アプリケーションを持っています。私はプロジェクトのための混在管理と非管理デバッグを有効にしており、プロジェクトをデバッグするときにアンマネージコードにステップインできます。 JITのデバッグに興味があります。なぜなら、デバッガの外部でデバッグビルドを実行し、アサーションに違反した後にのみデバッグを開始するほうがずっと速いからです。 JITデバッガは、マネージコードで例外が発生したときに正常に動作します。また、JITがスタンドアロンのC++アプリケーションをデバッグするときにも動作します。しかし、WinFormsアプリケーションから呼び出されるアンマネージコード内で例外が発生するたびに、デバッグセッションを開始した直後にJITデバッガが終了します。 Options/Debugging/Just-In-TimeリストにあるすべてのJITデバッガを有効にしました。このシナリオはまったくサポートされていますか?Visual Studioジャストインタイムデバッガが直ちに終了する
UPDATE
私はいくつかのより多くのテストを実行した、と私はこの問題は、WinFormsのアプリケーションに固有ではありません
- ことがわかります。管理コンソールアプリケーションがネイティブdllを呼び出すと、JITデバッグも失敗し、アサーション例外が発生します。
- 問題はフレームワークのバージョンに依存していないようです。私はバージョン3.5,4,4.5,4.6を試しました。
- デバッガは、マネージドホストアプリケーションにデバッガを接続すると、アンマネージコードのアサーション例外を破ることもできません。
ありがとう、それはここではケースではないようです。アサーション例外が有効になり、スタンドアロンのネイティブアプリケーションを実行しているときに正しくキャッチされます。アサーション例外がマネージドコードから呼び出されるネイティブDLLの内部で発生した場合にのみ、jit-debugに失敗します。しかし、私がすべての例外を有効にした場合に備えて。同じ問題。 – Max