Andere Symbolserver-DLLs
Wenn Sie eine andere Methode für die Symbolsuche verwenden möchten, können Sie Ihre eigene Symbolserver-DLL bereitstellen, anstatt SymSrv zu verwenden.
Festlegen des Symbolpfads
Bei der Implementierung eines anderen Symbolservers als SymSrv wird der Symbolpfad des Debuggers auf die gleiche Weise wie bei SymSrv festgelegt. Unter Microsoft Public Symbols and Advanced SymSrv Use (Erweiterte SymSrv-Verwendung ) finden Sie eine Erklärung zur Syntax des Symbolpfads. Die einzige Änderung, die Sie vornehmen müssen, besteht darin, die Zeichenfolge symsrv.dll durch den Namen Ihrer eigenen Symbolserver-DLL zu ersetzen.
Wenn Sie möchten, können Sie eine andere Syntax innerhalb der Parameter verwenden, um die Verwendung verschiedener Technologien wie UNC-Pfade, SQL-Datenbankbezeichner oder Internetspezifikationen anzugeben.
Implementieren eines eigenen Symbolservers
Ein Ansatz besteht darin, Code zu verwenden, der mit DbgHelp kommuniziert, um die Symbole zu finden. Jedes Mal, wenn DbgHelp Symbole für ein neu geladenes Modul benötigt, ruft es den Symbolserver auf, um die entsprechenden Symboldateien zu suchen. Der Symbolserver sucht jede Datei nach eindeutigen Parametern wie dem Zeitstempel oder der Bildgröße. Der Server gibt einen überprüften Pfad zur angeforderten Datei zurück.
Sie dürfen den tatsächlichen Namen der Symboldatei, der von Ihrem Symbolserver zurückgegeben wird, nicht ändern. DbgHelp speichert den Namen einer Symboldatei an mehreren Speicherorten. Daher muss der Server eine Datei mit demselben Namen zurückgeben, der beim Anfordern des Symbols angegeben wurde. Diese Einschränkung ist erforderlich, um sicherzustellen, dass die beim Laden des Symbols angezeigten Symbolnamen diejenigen sind, die der Programmierer erkennt.
Einschränkungen für mehrere Symbolserver
DbgHelp unterstützt die Verwendung von jeweils nur einem Symbolserver. Ihr Symbolpfad kann mehrere Instanzen derselben Symbolserver-DLL enthalten, aber nicht zwei unterschiedliche Symbolserver-DLLs. Dies ist keine große Einschränkung, da Sie weiterhin mehrere Instanzen eines Symbolservers in Ihren Symbolpfad einschließen können, die jeweils auf einen anderen Symbolspeicher verweisen. Wenn Sie jedoch zwischen zwei verschiedenen Symbolserver-DLLs wechseln möchten, müssen Sie den Symbolpfad jedes Mal ändern.
Installieren ihrer benutzerdefinierten Symbolserver-DLL
Die Details ihrer Symbolserverinstallation hängen von Ihrer Situation ab. Möglicherweise möchten Sie einen Installationsprozess einrichten, der Ihre Symbolserver-DLL kopiert und die _NT_SYMBOL_PATH Umgebungsvariable automatisch festlegt.
Abhängig von der technologie, die in Ihrem Server verwendet wird, müssen Sie möglicherweise auch die Symboldaten selbst installieren oder darauf zugreifen.
Portable PDB (Programmdatenbank)
Das Portable PDB-Format (Programmdatenbank) beschreibt eine Codierung von Debuginformationen, die von Compilern von CLI-Sprachen (Common Language Infrastructure) erstellt und von Debuggern und anderen Tools verwendet werden. Das Format basiert auf dem Metadatenstandard ECMA-335 Partition II. Es unterstützt den Betrieb auf verschiedenen Betriebssystemen und Plattformen. Weitere Informationen finden Sie unter Portable PDB-Symbole.
Benutzerdefinierte Symbolspeicher und Symbolserver
Informationen zum Erstellen benutzerdefinierter Symbolserver finden Sie unter Benutzerdefinierte Symbolspeicher und Symbolserver.