Verwenden eines Quellservers
Mit einem Quellserver kann der Debugger automatisch die Quelldateien abrufen, die dem aktuellen Ziel entsprechen. Um einen Quellserver verwenden zu können, müssen Sie Binärdateien debuggen, die zur Buildzeit indiziert wurden und deren Quelldateispeicherorte in die PDB-Dateien eingebettet sind.
Die Debugtools für Windows umfassen den Quellserver SrcSrv (Srcsrv.exe).
Verwenden von SrcSrv mit einem Debugger
SrcSrv kann mit WinDbg, KD, NTSD oder CDB verwendet werden.
Um SrcSrv mit dem Debugger zu verwenden, geben Sie den folgenden Befehl ein, um den Quellpfad auf srv* festzulegen.
.srcfix
Sie können das gleiche Ergebnis erhalten, indem Sie den folgenden Befehl eingeben.
.srcpath srv*
Wenn Sie den Quellpfad auf srv* festlegen, wird dem Debugger mitgeteilt, dass er Quelldateien von Speicherorten abrufen soll, die in den Symboldateien der Zielmodule angegeben sind.
Wenn Sie SrcSrv verwenden und auch eine Liste von Verzeichnissen in Ihren Quellpfad aufnehmen möchten, verwenden Sie Semikolons, um sich von allen Verzeichnissen im Pfad zu trennen srv*
.
Beispiel:
.srcpath srv*;c:\someSourceCode
Wenn der Quellpfad wie im vorherigen Beispiel gezeigt festgelegt ist, verwendet der Debugger zunächst SrcSrv , um Quelldateien von Speicherorten abzurufen, die in den Symboldateien der Zielmodule angegeben sind. Wenn SrcSrv keine Quelldatei abrufen kann, versucht der Debugger, sie aus c:\someSourceCode abzurufen. Unabhängig davon, ob srv* das erste Element im Pfad ist oder später angezeigt wird, verwendet der Debugger immer SymSrv, bevor er andere Verzeichnisse durchsucht, die im Pfad aufgeführt sind.
Sie können auch .srcfix+ verwenden, um an Ihren vorhandenen Quellpfad anzufügen srv*
, wie im folgenden Beispiel gezeigt.
3: kd> .srcpath c:\mySource
Source search path is: c:\mySource
3: kd> .srcfix+
Source search path is: c:\mySource;SRV*
Wenn eine Quelldatei vom Quellserver abgerufen wird, verbleibt sie auf Ihrer Festplatte, nachdem die Debugsitzung beendet wurde. Quelldateien werden lokal im src-Unterverzeichnis des Basisverzeichnisses gespeichert (im Gegensatz zum Symbolserver gibt der Quellserver keinen lokalen Cache in der srv*
Syntax selbst an). Das Basisverzeichnis ist standardmäßig das Debuggerinstallationsverzeichnis. sie kann mithilfe der !homedir-Erweiterung oder durch Festlegen der umgebungsvariablen DBGHELP_HOMEDIR geändert werden. Wenn dieses Unterverzeichnis noch nicht vorhanden ist, wird es erstellt.
Wenn Sie den Befehl .open (Open Source File) verwenden, um eine neue Quelldatei über SrcSrv zu öffnen, müssen Sie den Parameter -m Address einschließen.
Informationen zum Indizieren Ihrer Quellen oder zum Erstellen eines eigenen Quellcodeverwaltungsanbietermoduls finden Sie unter SrcSrv.
Verwenden von AgeStore zum Reduzieren der Cachegröße
Alle von SrcSrv heruntergeladenen Quelldateien verbleiben auf Ihrer Festplatte, nachdem die Debugsitzung beendet wurde. Um die Größe des Quellcaches zu steuern, kann das Tool AgeStore verwendet werden, um zwischengespeicherte Dateien zu löschen, die älter als ein angegebenes Datum sind, oder um den Inhalt des Caches unter eine angegebene Größe zu reduzieren. Weitere Informationen finden Sie unter AgeStore.