カスタム シンボル ストアとシンボル サーバー

デバッグのためにシンボルを正しく設定することは、特にカーネルデバッグでは困難な作業です。 多くの場合、コンピューター上のすべての製品の名前とリリースを把握している必要があります。 デバッガーは、製品リリースとサービスパックに対応する各シンボルファイルを見つけることができる必要があります。

これにより、ディレクトリの長いリストで構成される非常に長いシンボルパスが生成される可能性があります。 シンボルファイルを調整する際にこれらの問題を簡単にするために、シンボルファイルを シンボルストアに収集して、シンボル サーバーによってアクセスされるようにすることができます。

シンボルストアは、ファイルを追加および削除するために管理者が使用できる、シンボルファイル、インデックス、およびツールのコレクションです。 シンボルストアには、実行可能なイメージファイルを含めることもできます。

ファイルは、タイムスタンプや画像のサイズなどの一意のパラメーターに基づいてインデックスが作成されます。 シンボルストアは、シンボルサーバーを使用して抽出できる実行可能イメージファイルを保持することもできます。 Windows 用のデバッグツールには、 SymStoreと呼ばれるシンボルストア作成ツールが含まれています。

デバッガーは、シンボル サーバーを使用してシンボルストア内のファイルにアクセスします。 Windows 用のデバッグツールには、シンボルストア作成ツール、 SymStore、およびシンボルサーバーであるsymsrvの両方が含まれています。 また、このツールには、デバッガーがアクセスする必要があるすべてのシンボルストアのプロキシとして機能するネットワーク上の HTTP シンボルストアを設定するための、 Symproxyというツールも含まれています。

シンボルサーバーを使用すると、デバッガーは、ユーザーが製品名、リリース、またはビルド番号を把握しなくても、シンボルストアから正しいシンボルファイルを自動的に取得できます。 Windows 用のデバッグツールには、 symsrvと呼ばれるシンボルサーバーが含まれています。 シンボルサーバーは、シンボルパスに特定のテキスト文字列を含めることによってアクティブ化されます。 新しく読み込まれたモジュールのシンボルをデバッガーが読み込む必要があるたびに、シンボルサーバーを呼び出して適切なシンボルファイルを見つけます。 シンボルサーバーの操作の詳細については、「 Microsoft パブリックシンボルの参照」を参照してください。

SymSrv によって提供されるものとは異なる方法でシンボル検索を使用する場合は、独自のシンボルサーバー DLL を開発できます。 このようなシンボルサーバーの実装の詳細については、「 その他のシンボルサーバー」を参照してください。

ここでは、以下の内容について説明します。

HTTP シンボル ストア

ファイル共有 (SMB) シンボル サーバー

シンボル ストアのフォルダー ツリー

その他のシンボル ストア

Windows シンボル ファイルのインストール

Windows Update のオフライン シンボル

独自のシンボルストアを設定するのではなく、パブリックな Microsoft シンボルストアを使用する場合は、「 Microsoft パブリックシンボル」を参照してください。

シンボル ユーティリティ

次のユーティリティを使用すると、大規模なソフトウェア開発プロジェクトでのシンボルの配布と制御が可能になります。

ユーティリティ 説明
SymProxy HTTP ベースのシンボル ストアを、クライアント コンピューターと他のシンボル ストア間のプロキシとして機能するように構成するために使用します。
SymStore SymStore (symstore.exe) は、シンボル ストアを作成するためのツールです。
AgeStore AgeStore ツール (agestore.exe) では、最後にアクセスした日付に基づいて、ディレクトリまたはディレクトリ ツリー内のファイルを削除できます。
DBH DBH ツール (dbh.exe) は、シンボル ファイルの内容に関する情報を表示するコマンドライン ツールです。
PDBCopy PDBCopy ツール (pdbcopy.exe) は、シンボル ファイルからプライベート シンボル情報を削除するコマンドライン ツールです。
SymChk SymChk (Microsoft シンボル チェッカー ツール) (Symchk.exe) は、実行可能ファイルをシンボル ファイルと比較するプログラムです。