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

SMB および HTTP 要求をバッキングするシンボル ストアは、ローカル ディスク上に存在するフォルダー ツリーです。

管理をシンプルに保つために、サブフォルダー名 (シンボルなど) をファイル共有名と仮想ディレクトリ名として使用することもできます。 新しいシンボル ストアを追加する場合は、D:\SymStore の下に新しいサブフォルダーが作成され、ストアをクライアントに公開するために、その名前の新しいファイル共有と仮想ディレクトリが作成されます。

フォルダー ツリーの場所は、ディスクのファイル システムと同様に慎重に選択する必要があります。 シンボル ストアは、(内部) ビルド サーバーとインターネットからファイルをキャッシュするときに、非常に大きい (テラバイト単位) 可能性があります。 フォルダー ツリーは、読み取り数が多く書き込みの数が少ないディスク上に存在する必要があります。 ファイル システムはパフォーマンスに影響を与える可能性があります。ReFS のパフォーマンスは NTFS よりも優れたものになる可能性があります。大規模な展開については調査する必要があります。 同様に、サーバーへのネットワークは、クライアントからの負荷を処理するのに十分な速度である必要があります。また、キャッシュ作成用のシンボルを取得するためにアップストリーム シンボル ストアへの負荷も処理する必要があります。

シンボル ストアSingle-TierまたはTwo-Tier構造体

通常、ファイルは、キャッシュされたファイル名ごとに 1 つのサブディレクトリが存在する単一層のディレクトリ構造に配置されます。 ファイル名フォルダーごとに、ファイルの各バージョンを格納する追加のフォルダーが作成されます。 ツリーには次の構造があります。

D:\SymStore\Symbols\ntdll.dll\...\
D:\SymStore\Symbols\ntdll.pdb\...\
D:\SymStore\Symbols\kernel32.dll\...\
D:\SymStore\Symbols\kernel32.pdb\...\

多数のファイルを格納する場合は、シンボル ストアのルートで 2 層構造を使用できます。 ファイル名の最初の 2 文字は、中間フォルダー名として使用されます。

2 層構造を使用するには、D:\SymStore\Symbols のルートに index2.txt という名前のファイルを配置します。 ファイルの内容は重要ではありません。 このファイルが存在する場合symsrv.dllこの構造を使用して、2 層ツリーからファイルを作成して使用します。

D:\SymStore\Symbols\nt\ntdll.dll\...\
D:\SymStore\Symbols\nt\ntdll.pdb\...\
D:\SymStore\Symbols\ke\kernel32.dll\...\
D:\SymStore\Symbols\ke\kernel32.pdb\...\

シンボル ストアが設定された後で構造体を変換する場合は、デバッガー フォルダーconvertstore.exeアプリケーションを使用します。 ツールの動作を許可するには、ルート フォルダーに 000Admin という名前のフォルダーを作成します。 このフォルダーは、convertstore.exeロックを制御するために、このフォルダーに必要です。

HTTP シンボル ストア

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