問題タブ [crash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
500 参照

winapi - クラッシュしたプロセスをWindowsでリロードする方法

クラッシュしたプロセスをWindowsでリロードする方法は?もちろん、カスタム監視Winサービスプロセスを実行できます。しかし、たとえばFirefox:そのようなものはインストールされていないようですが、それでもクラッシュしたときに自動的に再起動できます。

0 投票する
2 に答える
5615 参照

.net - System.Diagnostics.Process 経由で起動されたプロセスでクラッシュを処理する方法は?

System.Diagnostics.Process で外部プロセスを起動しています。これはバッチ ジョブの一部であるため、1 つのプロセスがクラッシュした場合は、それを処理して残りを続行させたいと考えています。

現在起こっていることは、プログラムがクラッシュしたことを知らせるダイアログが Windows によってポップアップ表示され、それを手動で閉じるとプロセスが終了するということです。

この質問によると、Process.Responding プロパティは、UI を備えたプログラムでのみ使用できます (起動しているプロセスはコンソール アプリです)。

プロセスが提供するさまざまなイベントも調べましたが、クラッシュ時に発生するイベントはありません。

何か案は?

0 投票する
2 に答える
1366 参照

c - setjmp/signal クラッシュ例外処理

C OSX Carbonマルチスレッドアプリケーション用の「クラッシュ ハンドラ」をインストールしようとしています。Windows では、Windows のシンプルで効率的な__try{} __except{} SEH を簡単に使用できます。(これらは C++ の例外とは無関係であることに注意してください。これらは低レベルの C 構造体です!)

これは、私が以前に SO で尋ねた質問と非常に関連しています。また、以前の SO の質問にも関連しています。

答えは、コードの各領域の前に setjmp() を使用し、クラッシュが発生した場合はシグナル ハンドラを使用して longjmp() に戻すことです。

しかし、これの実装は自明ではありません.. マルチスレッドのためです! Windows の __try{} __except{} イディオムはスレッドセーフであり、Just Works です。しかし明らかに setjmp はスレッドセーフではありません。

では、実装はどのようになるでしょうか。スレッドローカルストレージを実装する必要があると考え続けています。最初に setjmp を初期化し、環境状態をスレッド ローカル バッファーに格納します。その後、シグナル ハンドラーは、スレッド ローカル領域を調べて、環境データを再度見つける必要があります。ただし、Google も SO も、これが適切な戦略であるという証拠を示していません。特に、setjmp() はスレッドセーフでないと文書化されているためです。そして、スレッドローカルストレージは、すべてのスレッドがそれ自体を登録し、(その環境データを保持するために) メモリを割り当て、スレッドの破棄時にそれを解放する必要はありませんか?

OSX でこれらすべてをラップするマクロを作成できることを願っています。私の __try __except コードは問題なく機能します。

では、シグナルと setjmp を使用して OSX マルチスレッド セーフなクラッシュ リカバリ ハンドラを作成するにはどうすればよいでしょうか。

0 投票する
1 に答える
728 参照

c# - ItemContainerStyle にコントロール テンプレートがあり、CollectionViewSource にバインドされているリストボックスを含むタブを変更すると、アプリがクラッシュする

私の問題は、ListBox と ItemContainerStyle の両方のスタイルを持つリストボックスを持つ 3 つのタブ コントロールがあり、タブ内のすべてのリストボックスでスタイルが同じであることです。

2 つのタブは、CollectionViewSource を使用してデータバインドされています。

問題は、タブ2に入ろうとするとすぐに例外が発生し、どこから来たのかわからないようです(最初のチャンスの例外を有効にするのにも疲れましたが、何もありません)

それをいじってみると、タブ 2 の ListBox から ItemContainerStyle を削除すると、クラッシュしなくなることがわかりました。クラッシュを防ぐ別の方法は、リストボックスにアイテムを入れないことです。別の方法は、 CollectionViewSource を使用する代わりに、リストで GetDefaultView() を使用してそれにバインドすることです。

リストボックスにバインドするために使用する行は次のとおりです。

これは、タブ コントロールの XAML です。

これは、スタイルを含むリソース ディレクトリです。

0 投票する
8 に答える
3001 参照

wpf - VS2008が「致命的な実行エンジンエラー」でクラッシュする

このエラー(イベントログ)でクラッシュするVisual Studioの修正を見つけた人はいますか?

.NETランタイムバージョン2.0.50727.3082-致命的な実行エンジンエラー(7A2E1132)(0)

これは、xamlの問題でデバッグを開始したときに行われます。その後、VisualStudioは静かに消えます。

SOとMSConnectを調べましたが、修正または回避策が見つかりませんでした。すべてのアドインを無効にする必要があるとよく読んでいますが、持っていません。

編集:はい、SP1と次の修正がインストールされています:

バージョン9.0.30729.1SP

KB944899 KB945140 KB945282 KB946040 KB946308 KB946344 KB946581 KB947171 KB947173 KB947180 KB947540 KB947789 KB947888 KB948127 KB953256 KB956453 KB957912 KB958017

0 投票する
2 に答える
3763 参照

windows - PDB ファイル クラッシュダンプ user.dmp

アプリケーションがクラッシュし、その結果、Windows プラットフォームでクラッシュ ダンプが生成されます。exeとdllファイルをお客様に送ります。顧客から user.dmp と drwtsn32.log ファイルが送られてきました。しかし、顧客は対応する pdb ファイルを持っていません。顧客は dll と exe ファイルを持っているだけです。そのため、この user.dmp ファイルを Windbg に添付すると、シンボルが取得されません。では、シンボルを取得するにはどうすればよいでしょうか。pdb ファイルを顧客に送信する必要がありますか? はいの場合、クラッシュが発生したときにこれらの pdb ファイルをどうする必要がありますか? 私は 3 つの異なるマシンを使用します: a) ビルド マシン、c) 顧客のテスト マシン、c) 私自身のデバッグ マシン (ビルド マシンとは異なります)。デバッグ用マシンにwindbgをインストールします。すべての pdb ファイルをビルド マシンからデバッグ マシンにコピーできます。私にお知らせください、

ありがとうコンコン

0 投票する
1 に答える
4127 参照

.net - WPFアプリケーションがAppHangB1問題イベント名でクラッシュする原因は何ですか?

私が現在取り組んでいるプログラムは、AppHangB1問題イベントでハングすることがあります。私はそれを特定の一連のアクションにたどりましたが、コードをステップスルーするたびにそれ自体が現れないため、それは一種の特異なバグのようです。また、プログラムがハングすると、プログラムを一時停止してVisualStudioのどこにハングしているかを確認できなくなります。このアプリケーションでは多くのことが起こっているので(管理されていない相互運用、マルチスレッドなど)、特定のアプリケーションで間違っていることがいくつもある可能性があります。

私は自分の問題を解決してくれる人を探していません。どのような種類のものがこのタイプのハングを引き起こす可能性があるのか​​疑問に思っています。Googleでいくつかのヒットを見つけましたが、何も役に立ちませんでした。問題を特定するのに役立つ可能性のある.NETアプリケーションのデバッグトリックも役立ちます。

0 投票する
1 に答える
1492 参照

macos - CFRunLoopRemoveSource と CFRunLoopSourceInvalidate の違い

Mac で HID ドライバー コードのクラッシュをデバッグしていたところ、CFRunLoop でクラッシュが発生していることがわかりました。ドライバー コードでは、HID デバイスに一致する VID と PID に一致するデバイスの USB ハンドルを開き、setInterruptReportHandlerCallback 関数を使用して割り込みコールバックを設定し、CFRunLoopAddSource 呼び出しを使用して CFRunLoop に追加します。クローズ ハンドルの呼び出しでは、CFRunLoopRemoveSource を使用して解放し、次に CFRunLoopSourceRef で CFRelease を使用しました。

この問題は、ハンドルを開こうとしてしばらく (5ms) 待ってから、ループでハンドルを閉じようとすると発生します。

私が問題を検索したとき、彼らが私と同様の問題を抱えていたリンクに出くわしましたhttp://lists.apple.com/archives/usb/.../msg00099.htmlここで、削除の代わりに CFRunLoopSourceInvalidate 呼び出しを使用していましたソース呼び出し。close handles 呼び出しで Invalidate source に変更すると、クラッシュが修正されました。クラッシュの違いと、この呼び出しでクラッシュが修正された理由を知りたいですか?

ありがとうjbsp72