1

これは、ファーストチャンスの例外に関する他のすべてのメッセージとは異なるようです:)

シリアルポートのインバウンドデータハンドラーでスローされるときどき発生する例外を追跡しようとしています。起動すると、スタックトレースには私のコードが表示されません。これは、System.Threading.ThreadHelper.ThreadStart()で始まる標準アセンブリ内のすべてのものです。それは私自身のコードの外にあるので、それを処理することはできず、途中でCurrentDomain_UnhandledExceptionに達するまで何も知りません。

着信シリアル通信を処理するスレッドを開始しています。シリアルポートはUSBデバイスであるため、誤ってプラグを抜いてポートが消えてしまう可能性があるため、問題が発生した場合は、スレッドを強制終了して新たに開始し、ポートを列挙して、デバイスが戻ってきたときにデバイスを再度ピックアップするようにクエリします。

出力には、いくつかの「タイプ'System.Threading.ThreadAbortExceptionの最初のチャンスの例外」が表示されています。それらのいくつかはMSコードにあります。どこかに飲み込まれていないことを確認できるように、それぞれを壊せるようにしたいと思います。ただし、[デバッグ]-> [例外]メニューの[System.Threading]スローボックスにチェックマークを付けると、VSが壊れることはありません。「Justmycode」を無効にしても、デバッガーの範囲が広がると思います。

これらの例外でVSを壊す、私が見逃している3番目のことを誰かが知っていますか?

4

1 に答える 1

-1

最初のチャンスの例外でブレークするには、Visual C++ 2010 でこれを行うことができます。debug->exceptions に移動し、c++ 例外で std::exception のチェックボックスをオンにします。これは私にとってはうまくいったと思います。

于 2013-02-20T06:57:10.290 に答える