その他のシンボル サーバーDLL

シンボル検索に別の方法を使用する場合は、SymSrv を使用するのではなく、独自のシンボル サーバー DLL を指定できます。

シンボル パスを設定する

SymSrv 以外のシンボル サーバーを実装する場合、デバッガーのシンボル パスは SymSrv と同じ方法で設定されます。 シンボル パスの構文の説明については、「 Microsoft パブリック シンボル 」および「 高度な SymSrv の使用 」を参照してください。 行う必要がある唯一の変更は、文字列 symsrv.dll を独自のシンボル サーバー DLL の名前に置き換えます。

必要に応じて、UNC パス、SQL データベース識別子、インターネット仕様などのさまざまなテクノロジの使用を示すために、パラメーター内で異なる構文を自由に使用できます。

独自のシンボル サーバーの実装

1 つの方法は、DbgHelp と通信するコードを使用してシンボルを見つけることです。 DbgHelp は、新しく読み込まれたモジュールのシンボルを必要とするたびに、シンボル サーバーを呼び出して適切なシンボル ファイルを見つけます。 シンボル サーバーは、タイム スタンプやイメージ サイズなどの一意のパラメーターに従って各ファイルを検索します。 サーバーは、要求されたファイルへの検証済みパスを返します。

シンボル サーバーから返される実際のシンボル ファイル名を変更しないでください。 DbgHelp は、シンボル ファイルの名前を複数の場所に格納します。 したがって、サーバーは、シンボルが要求されたときに指定されたのと同じ名前のファイルを返す必要があります。 この制限は、シンボルの読み込み中に表示されるシンボル名がプログラマが認識するシンボル名であることを保証するために必要です。

複数のシンボル サーバーに関する制限事項

DbgHelp では、一度に 1 つのシンボル サーバーのみを使用できます。 シンボル パスには、同じシンボル サーバー DLL の複数のインスタンスを含めることができますが、2 つの異なるシンボル サーバー DLL は含まれません。 シンボル パスにシンボル サーバーの複数のインスタンスを自由に含め、それぞれが異なるシンボル ストアを指しているため、これは大した制限ではありません。 ただし、2 つの異なるシンボル サーバー DLL を切り替える場合は、毎回シンボル パスを変更する必要があります。

カスタム シンボル サーバー DLL のインストール

シンボル サーバーのインストールの詳細は、状況によって異なります。 シンボル サーバー DLL をコピーし、_NT_SY MB (メガバイト)OL_PATH環境変数を自動的に設定するインストール プロセスを設定できます。

サーバーで使用されているテクノロジによっては、シンボル データ自体のインストールまたはアクセスが必要になる場合もあります。

ポータブル PDB (プログラム データベース)

Portable PDB (プログラム データベース) 形式は、共通言語インフラストラクチャ (CLI) 言語のコンパイラによって生成され、デバッガやその他のツールによって使用されるデバッグ情報のエンコードを記述します。 形式は ECMA-335 Partition II メタデータ標準に基づいています。 さまざまなオペレーティング システムとプラットフォームでの操作をサポートします。 詳細については、「 ポータブル PDB シンボル」を参照してください。

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

カスタム シンボル サーバーの作成の詳細については、「 カスタム シンボル ストアとシンボル サーバー」 を参照してください。