WinDbg でのシンボルと実行可能イメージ パスの設定

シンボル パス

シンボルパスは、シンボルファイルが置かれているディレクトリを指定します。 シンボルとシンボル ファイルの詳細については、シンボルに関する記事を参照してください。

インターネットや企業ネットワークに接続している場合、シンボルにアクセスする最も効 率的な方法はシンボルサーバーを使用することです。 シンボルパスの中で srv* または symsrv* 文字列を使用することで、シンボルサーバーを使用することができます。 シンボル・サーバーへのアクセスの詳細については、Windows デバッガーのシンボル・パス を参照してください。

WinDbg でシンボル・パスを制御するには、次のいずれかを実行します:

  • File メニューから Symbol File Path を選択するか、CTRL+S を押します。

  • .sympath(Set Symbol Path)コマンドを使用する。 シンボルサーバーを使用している場合、.symfix(シンボルストア・パスの設定)コマンドは.sympathと似ていますが、入力の手間が省けます。

  • デバッガーを起動するときは、-y コマンドラインオプションを使用します。 「WinDbg コマンドライン・オプション」を参照してください。

  • デバッガーを起動する前に、_NT_SYMBOL_PATH および _NT_ALT_SYMBOL_PATH 環境変数を使用してパスを設定します。 シンボル・パスは、_NT_ALT_SYMBOL_PATH の後に _NT_SYMBOL_PATH を追加して作成します。 (通常、パスは_NT_SYMBOL_PATHを通して設定される。しかし、共有シンボル・ファイルのプライベート・バージョンを持っている場合など、特別な場合には_NT_ALT_SYMBOL_PATHを使用してこれらの設定を上書きするとよいでしょう)。これらの環境変数を使用して無効なディレクトリを追加しようとすると、デバッ ガーによって無視されます。

    -sins コマンドライン・オプションを使用すると、デバッガーはシンボル・パス環境変数を無視します。 詳細については、「WinDbg コマンドライン・オプション」を参照してください。

実行イメージ・パス

実行可能ファイルは、プロセッサが実行できるバイナリ・ファイルです。 これらのファイルには通常、.exe、.dll、または .sys というファイル名の拡張子があります。 実行可能ファイルはモジュールとも呼ばれ、特に実行可能ファイルがより大きなアプリケーションのユニットとして記述されている場合によく使われます。 Windowsオペレーティングシステムは、実行可能ファイルを実行する前に、それをメモリにロードします。 メモリ上の実行可能ファイルのコピーは、実行可能イ メージまたはイメージと呼ばれる。

これらの用語は、時に不正確に使われることがある。 例えば、ディスク上の実際のファイルに対して「イメージ」を使う文書もあるかもしれません。 また、WindowsカーネルとHALには特別なモジュール名があります。 例えば、ntモジュールはNtoskrnl.exeファイルに対応します。

実行イメージパスは、バイナリの実行ファイルがあるディレクトリを指定します。

ほとんどの場合、デバッガーは、このファイルのパスを設定する必要はありませんので、実行可能ファイルの場所を認識します。

ただし、このパスが必要な場合があります。 たとえば、カーネルモードの小さいメモリダンプファイルには、停止エラー(つまり、クラッシュ)の時点でメモリ内に存在する実行可能ファイルのすべてが含まれていません。 同様に、ユーザーモードのミニダンプファイルには、アプリケーションバイナリは含まれません。 実行可能ファイルのパスを設定すると、デバッガーはこれらのバイナリファイルを見つけることができます。

デバッガーの実行イメージ・パスは、セミコロンで区切られた複数のディレクトリ・パスからなる文字列です。 相対パスがサポートされています。 ただし、常に同じディレクトリからデバッガーを起動する場合を除き、各パスの前にドライブ文字またはネットワーク共有を追加する必要があります。 ネットワーク共有もサポートされています。 デバッガは実行イメージパスを再帰的に検索します。 つまり、デバッガはこのパスにリストされている各ディレクトリのサブディレクトリを検索します。

WinDbg で実行イメージ・パスを制御するには、次のいずれかを実行します:

  • [ファイル] メニューから [イメージ・ファイル・パス] を選択するか、CTRL+I キーを押します。

  • .exepath(Set Executable Path)コマンドを使用する。

  • デバッガーを起動するときに、-i コマンドライン・オプションを使用します。 「WinDbg コマンドライン・オプション」を参照してください。

  • デバッガーを起動する前に、_NT_EXECUTABLE_IMAGE_PATH 環境変数を使用してパスを設定します。

    -sins コマンドライン・オプションを使用すると、デバッガーは実行可能イメー ジ・パス環境変数を無視します。 詳細については、「WinDbg コマンドライン・オプション」を参照してください。