この問題がデバッガー内で発生した場合は、例外のスロー時に中断するようにデバッガーを設定できます (C# を使用しているため、Visual Studio を想定しますか?)。あなたの場合、(私は思う)に例外ブレークポイントを設定したいと思うでしょうSystem.ComponentModel.Win32Exception
。
再び Visual Studio を IDE と仮定すると、[デバッグ] メニューには [例外...] 項目があります。これにより、特定の例外が a) スローされた場合、または b) 未処理の場合に中断するようにデバッガーに指示できます。
Common Language Runtime Exceptions の下で、 を展開System.ComponentModel
し、Thrown 列のチェックボックスを有効にしますSystem.ComponentModel.Win32Exception
。
後は、通常どおりに実行してください。デバッグ中に例外が発生した場合は、プログラムに割り込んで、どこで発生しているかを確認できるようにする必要があります。
編集: 開発マシンで問題を再現できない場合は、クラッシュが発生したときにダンプを生成するようにターゲット マシンを設定できるかどうかを確認してください。これを行う 1 つの方法は、 ProcDumpを実行することです。パラメーターを指定して実行し-e
、例外が発生した場合にダンプを作成します。その後、牧場でこれを分析できます。