Verwenden von SrcSrv

Um SrcSrv mit WinDbg, KD, NTSD oder CDB zu verwenden, vergewissern Sie sich, dass Sie eine aktuelle Version des Pakets Debugtools für Windows (Version 6.3 oder höher) installiert haben. Fügen Sie dann den Text srv* in den Quellpfad ein, getrennt durch Semikolons aus allen Verzeichnissen, die sich ebenfalls im Quellpfad befinden.

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.

Wenn eine Quelldatei von SrcSrv 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 wird standardmäßig auf das Installationsverzeichnis Debugtools für Windows festgelegt. sie kann mithilfe der !homedir-Erweiterung oder durch Festlegen der umgebungsvariablen DBGHELP_HOMEDIR geändert werden. Wenn das src-Unterverzeichnis des Basisverzeichnisses noch nicht vorhanden ist, wird es erstellt.

Debuggen von SrcSrv

Wenn Beim Extrahieren der Quelldateien aus dem Debugger Probleme auftreten, starten Sie den Debugger mit dem Befehlszeilenparameter -n, um die tatsächlichen Quellextraktionsbefehle zusammen mit der Ausgabe dieser Befehle anzuzeigen. Der Befehl !sym noisy führt dasselbe aus, aber Möglicherweise haben Sie bereits wichtige Informationen aus früheren Extraktionsversuchen verpasst. Dies liegt daran, dass der Debugger den Zugriff auf die Quelle aus Versionskontrollrepositorys aufgibt, die nicht erreichbar zu sein scheinen.

Abrufen von Quelldateien

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.

Um die Verwendung von SrcSrv über andere Tools als die zuvor aufgeführten Debugger zu erleichtern, bietet die DbgHelp-API über die SymGetSourceFile-Funktion Zugriff auf die SrcSrv-Funktionalität. Um den Namen der abzurufenden Quelldatei abzurufen, rufen Sie die Funktion SymEnumSourceFiles oder SymGetLineFromAddr64 auf. Weitere Informationen zur DbgHelp-API finden Sie in der Dokumentation zu dbghelp.chm, die sich im Unterverzeichnis sdk/help des Installationsverzeichnisses Debugtools für Windows befindet, oder unter Debug-Hilfebibliothek.

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.