WPFアプリケーションを開発しています。デバッグ時にロジックが特定のポイントに到達すると、アプリケーションは理由もなく終了します。 VSデバッガーは何もキャッチせず、問題の唯一の兆候は出力ウィンドウの次のとおりです。
プログラム '[6228] SomeApp.vshost.exe:Managed(v4.0.30319)'は、コード1073741855(0x4000001f)で終了しました。
リリースバージョンをデバッグするとき、または実際にデバッガーからデバッグビルドを実行するとき(実際には、デバッガーでデバッグバージョンを実行していないすべてのコンボ)、すべてが正常に動作します。
次のコードで未処理の例外をキャッチしようとしています。
AppDomain
.CurrentDomain
.UnhandledException +=
(sender, e) =>
{
Debug.WriteLine("Unhandled Exception " + e.ExceptionObject);
};
Application
.Current
.DispatcherUnhandledException +=
(sender1, e1) =>
{
Debug.WriteLine("DispatcherUnhandledException " + e1.Exception);
};
...しかし、私は何も捕まえていません。
アプリにデバッグ出力ステートメントを追加することを検討していますが、これは非常に非同期であるため、これを読み取るのは面倒で面倒です。
何が起こっているのかを理解するにはどうすればよいですか?
Ntstatus.hファイルによると、0x4000001f(STATUS_WX86_BREAKPOINT)は、Win32 x86エミュレーションサブシステムで使用される例外ステータスコードです。それは(おそらく)あなたが悪用できないブレークポイントに到達したことを意味します。アンマネージコードのデバッグを有効にする必要があります。
Visual Studio 2012(バージョン11.0.50727.1 RTMREL)を使用して、私が見つけた唯一のソリューションは、[プロジェクト]-> [プロパティ]-> [デバッグ]に移動し、[Visual Studioホスティングプロセスを有効にする]をオフにすることでした。
[ネイティブコードのデバッグを有効にする]オプションは、すべての例外がbreak-when-throwに設定されていても役に立ちませんでした。
興味深いことに、この問題は、VS2012ベータ版からVS2012公式リリースにアップグレードしたときにのみ発生し始めました。
Visual Studio 2013でも同じ状況です。Ronのようにこれで1日が節約できます:プロジェクト->プロパティ->デバッグし、「Visual Studioホスティングプロセスを有効にする」をオフにします。
ありがとう
再起動すると問題が解決しました。
Resharperのテストランナーを介してNUnitを介してデバッグしようとして、W3WP.exeプロセスを個別に実行しようとして問題が発生しました。
私はFonstSize = "auto"でも同じ動作をしていました(理由はわかりません):
<TextBlock Text="{Binding DisplayText}" FontSize="auto"/>
修正:<TextBlock Text="{Binding DisplayText}" />
追加のエラー出力:
LS停止アサート-tserrInternalError、ファイルf:\ dd\wpf\src\native\ums\shared\inci\tsoverflow.h、行66
タイプ 'System.Exception'の未処理の例外がPresentationCore.dllで発生しました追加情報:Vom Textformatierungsmodul kann aufgrund des folgenden Fehlers keine Textzeile formatiert werden: "LsInternalError"。
私は同じ問題を経験していました。私の場合、ゲッターとセッターを持つプロパティがあることに気付きました。私の間違いは、リンクされた属性ではなくプロパティ自体を返すことでした。これにより、デバッガーが無限ループに入るように強いられました。修正後、問題は解決しました。追加情報なしで同じエラーコードを取得していました-