2009-04-03 9 views
0

私はアクセスできないマシンでいくつかの問題のトラブルシューティングを試みています。問題は非常に断続的であり、局所的に再現することは不可能である。私はWinDbgをインストールするように頼んで、プロセスのスタックトレース/ダンプを生成できるようにしています。これが最善の方法ですか?このような問題の底に到達するためにあなたはどのようなアプローチをしていましたか?リモートでのトラブルシューティング

答えて

0

私は、必要なダンプを生成するためにcdb.exe(WinDbgに付属)を使用する.batファイルを作成しました。それは完全に動作し、リモートマシンに触れる必要はありません。さらに、ユーザーは技術的な知識は必要ありません。 WinDbgをインストールし、.batファイルを実行するだけです。

0

Windowsシステムで作業している場合は、マシンのリモートデスクトップアクセスを許可するように他のマシンの所有者に依頼することができます。そうすれば、自分のシステムと同じように、他のシステムのすべての詳細にアクセスすることができます。 Linuxマシンで作業している場合、他のマシンの所有者がユーザーにsshアクセス権を与え、そのユーザー名とパスワードを知らせる必要があるsshクライアントを介して、他のマシンのコマンドラインにアクセスできます。さらにrootのパスワードを尋ねると、Linuxマシンで最も強力な他のシステムのコマンドラインで作業することができます。

0

はあなたのコードとそのWindowsにそれを構築することができた場合、あなたはそれがクラッシュしたときに自動的にクラッシュダンプを生成する可能性がありcopilot

0

を試してみてください。そのためには、独自の例外ハンドラを作成し、SetUnhandledExceptionFilter API関数を使用してそれにフックする必要があります。次に、ハンドラはMiniDumpWriteDumpを呼び出してミニダンプを書き出すことができます。ユーザーがミニダンプを送信した場合、windbgにロードして、スタックトレースとその他の情報を取得することができます(運が良い場合)。

これまで私はこれを成功裏に使用していましたが、それは扱いにくいものです。特に、マシン上のコンパイルされたシンボルは、分散ビルドにあったシンボルでなければなりません。

+0

残念ながら、アプリケーションはハングしていて、クラッシュしていません。 –

+0

minidumpはいつでも呼び出すことができます(クラッシュする必要はありません)。あなたはキーストロークや他のイベントにそれを引っ掛けることができますか? –

関連する問題