web-dev-qa-db-ja.com

プログラムとデバッガーが問題の兆候なしに終了する

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);
            };

...しかし、私は何も捕まえていません。

アプリにデバッグ出力ステートメントを追加することを検討していますが、これは非常に非同期であるため、これを読み取るのは面倒で面倒です。

何が起こっているのかを理解するにはどうすればよいですか?

25
spender

Ntstatus.hファイルによると、0x4000001f(STATUS_WX86_BREAKPOINT)は、Win32 x86エミュレーションサブシステムで使用される例外ステータスコードです。それは(おそらく)あなたが悪用できないブレークポイントに到達したことを意味します。アンマネージコードのデバッグを有効にする必要があります。

34
Vladimir

Visual Studio 2012(バージョン11.0.50727.1 RTMREL)を使用して、私が見つけた唯一のソリューションは、[プロジェクト]-> [プロパティ]-> [デバッグ]に移動し、[Visual Studioホスティングプロセスを有効にする]をオフにすることでした。

[ネイティブコードのデバッグを有効にする]オプションは、すべての例外がbreak-when-throwに設定されていても役に立ちませんでした。

興味深いことに、この問題は、VS2012ベータ版からVS2012公式リリースにアップグレードしたときにのみ発生し始めました。

13
Ron

Visual Studio 2013でも同じ状況です。Ronのようにこれで1日が節約できます:プロジェクト->プロパティ->デバッグし、「Visual Studioホスティングプロセスを有効にする」をオフにします。

ありがとう

7
PachecoDt

再起動すると問題が解決しました。

Resharperのテストランナーを介してNUnitを介してデバッグしようとして、W3WP.exeプロセスを個別に実行しようとして問題が発生しました。

1
Peter Seale

私は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"。

0
FrankM

私は同じ問題を経験していました。私の場合、ゲッターとセッターを持つプロパティがあることに気付きました。私の間違いは、リンクされた属性ではなくプロパティ自体を返すことでした。これにより、デバッガーが無限ループに入るように強いられました。修正後、問題は解決しました。追加情報なしで同じエラーコードを取得していました-

0
Siamak Rahimi