シンボルを使用しないユーザーモード プロセスのデバッグ
ユーザー モード エラーのデバッガーを開始する前に、障害が発生しているコンピューターにシンボルを配置することが重要です。 ただし、シンボルなしでデバッガーが開始される場合があります。 問題が簡単に再現できる場合は、シンボルをコピーして再実行するだけです。 ただし、問題が再び発生しない可能性がある場合は、エラーから一部の情報を収集できます。
アドレスの意味を把握するには、エラーと一致するコンピューターが必要となります。 同じプラットフォーム (x86 または x64) で、同じバージョンの Windows で読み込む必要があります。
コンピューターを構成したら、ユーザーモード シンボルとデバッグするバイナリを新しいマシンにコピーします。
シンボルのないコンピューターで CDB または WinDbg を起動します。
シンボルのないコンピューターでエラーとなったアプリケーションがわからない場合は、 | (プロセスのステータス) コマンドを発行します。 それでも名前がわからない場合は、シンボルのないマシンで KD に分割し、!process 0 0 を実行して、CDB コマンドによって指定されたプロセス ID を探します。
2 つのデバッガーが設定されている場合は、1 つはエラーにヒットしていないシンボルを持ち、もう 1 つはエラーにヒットしたがシンボルがない -- シンボルのないコンピューターで k (Display Stack Backtrace) コマンドを発行します。
シンボルを使用したマシンで、シンボルのないスタックで指定されたアドレスごとに u (Unassemble) コマンドを発行します。 これにより、シンボルのないマシンでのエラーのスタック トレースが取得できます。
スタック トレースを調べることで、呼び出しに関係するモジュール名と関数名が表示されます。