問題タブ [postmortem-debugging]
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.
vb.net - VB.Net バックグラウンドワーカー
Visual Basic に Visual Studio 2013 を使用していますが、マルチスレッド プログラムのデバッグに苦労しています。
私は BackgroundWorker を使用していますが、これは私が考えている方法とは異なるように見えます。
と呼ばれる ArrayList の最初のエントリのみを処理した後にプログラムが停止する理由がわかりませんarFileName
。
次のコードでは、BackgroundWorker1.DoWork プロシージャのFor Each
ステートメントが全体を反復処理できません。arFileName
debugging - カーネル デバッガーを使用して 64 ビット OS で 32 ビット アプリケーションをデバッグする
次のシナリオがあります。
Windows 10 64bitを実行している Hyper-V マシンにカーネル デバッガー (Windbg) を接続しています。デバッグ対象のプロセスは32 ビットのユーザー モード プロセスであり、マシンがハングすることがある (ミニフィルターと通信する) ため、ユーザー モード デバッガーまたはリモート デバッガーを使用できません。
これで、シンボル サーバーができました。調査したいプロセスとスレッドがわかりました。どうすればよいでしょうか。
- このスレッドのみの呼び出し履歴を表示する
- モジュールのシンボルを読み込む
おまけの質問: 何らかの理由で、自分のプログラムのインスタンスがたくさんあります。「アクティブな」ものを除いて、残りは Process Explorer に表示されず、スレッドがなく、ハンドル数が 0 です。何が原因でしょうか?
私が試したこと:
このスレッドは私が調査したいスレッドです。太字で示されているように、プロセッサの使用率が高くなっています。ユーザー時間: 17 分。ただし、スタックは役に立ちません。それから私はしました:
このアドレス 0x819613ca は何ですか? これが属するモジュールを抽出するにはどうすればよいですか? または、意味のあるコールスタックを抽出しますか? 調査をさらに進めるにはどうすればよいですか?
visual-studio-2017 - Visual Studio 2017 でクラッシュ ダンプを開くと、"ファイルが大きすぎて開けません" というメッセージが表示される
VS 2017 でクラッシュ ダンプを開こうとすると、「ファイルが大きすぎて開くことができません」というエラーが表示されます。以下は、私のボックスの仕様です。
- OS: 勝利 2012 R2 64Bit
- VS Enterprise 2017. インストール中にオプションを選択しないクリーン インストールです。
- ダンプ ファイルは、.Net 4.5 Web アプリケーションから「procdump64 -ma -e 231532」コマンドによって作成されます。クラッシュダンプファイルのサイズは約 9GB です。
誰かがこの問題について私にアドバイスしてくれれば、本当に感謝しています。
winapi - 未処理の例外フィルターが見逃したものを事後分析デバッガーがキャッチする方法
私はいくつかの事後分析デバッガーを実装しようとしています。これは、プログラムによって処理されない例外のみをキャッチすることを意味するため、未処理の例外フィルターを設定しています (そして、誰も私の後に設定しないようにします)。 mshtml.dll) で、アクセス違反は発生するが未処理の例外フィルター呼び出しは発生せず、ポスト モーテム デバッガー (windbg など) がポップアップします。ポスト モーテム デバッガーはどのようにそれをキャッチしますか?
AddVectoredExceptionHandler は良い考えではありません。なぜなら、seh がそれを処理して続行したとしても呼び出されるからです。