SymProxy

Sie können Ihren HTTP-basierten Symbolspeicher so konfigurieren, dass er als Proxy zwischen Clientcomputern und anderen Symbolspeichern fungiert. Die Implementierung erfolgt über einen ISAPI-Filter (Internet Server Application Programming Interface) namens SymProxy (Symproxy.dll). Der SymProxy-Server kann als Gatewaycomputer für das Internet oder andere Quellen in Ihrem Unternehmensnetzwerk verwendet werden. Das folgende Diagramm zeigt ein Beispiel für eine SymProxy-Konfiguration.

Diagramm, das ein Beispiel für eine SymProxy-Konfiguration zeigt.

SymProxy ist in vielen Situationen nützlich. Beispiel:

  • Sie debuggen viele Systeme in einer Labumgebung, in der die Computer nicht an das Unternehmensnetzwerk angefügt sind, aber die Symbole im Netzwerk gespeichert sind und auf die über die integrierte Windows-Authentifizierung (IWA) zugegriffen werden muss.

  • Ihre Unternehmenscomputingumgebung enthält eine Firewall, die den Zugriff auf das Internet von Computern verhindert, die debuggen, und Sie müssen Symbole von einer Internetwebsite abrufen.

  • Sie möchten einen einzelnen Symbolpfad für alle Benutzer in Ihrem Unternehmen präsentieren, damit sie nicht wissen oder sich darum kümmern müssen, wo sich Symbole befinden, und Sie können neue Symbolspeicher ohne Benutzereingriff hinzufügen.

  • Sie verfügen über einen Remotestandort, der physisch weit von den übrigen Unternehmensressourcen entfernt ist, und der Netzwerkzugriff ist langsam. Dieses System kann verwendet werden, um Symbole zu erhalten und sie am Remotestandort zwischenzuspeichern.

Zum Installieren von SymProxy müssen Sie die Dateien manuell an den richtigen Speicherort kopieren, die Registrierung konfigurieren, Netzwerksicherheitsanmeldeinformationen auswählen und Internetinformationsdienste (IIS) konfigurieren. Informationen dazu, dass Ihr HTTP-Symbolspeicher ordnungsgemäß konfiguriert ist, finden Sie unter HTTP-Symbolspeicher.

Überlegungen zur Leistung mehrerer Symbolserver

Jedes virtuelle Verzeichnis kann mehreren Symbolspeichern (Upstream) zugeordnet werden. Jeder Symbolspeicher wird unabhängig abgefragt. Aus Leistungsgründen sollten lokale SMB-Server vor http-Internetservern verarbeitet werden. Im Gegensatz zu einem Debuggersymbolpfad können mehrere HTTP-Symbolspeicher in einem SymProxy-Symbolpfad angegeben werden. Pro virtuelles Verzeichnis werden maximal 10 Einträge unterstützt.

SymProxy-Symbolpfad

SymProxy teilt den (registrierungsdefinierten) Symbolpfadwert in die einzelnen Einträge auf und verwendet jeden Eintrag, um einen SRV*-basierten Symbolpfad zum Abrufen der Datei zu generieren. Es verwendet den Ordner des virtuellen Verzeichnisses als Downstreamspeicher in jeder der Abfragen. Dabei wird die Upstream in einem einzelnen Downstreamsymbolspeicher zusammengeführt.

Der von SymProxy verwendete (generierte) Symbolpfad entspricht folgendem:

SRV*<Virtual Directory Folder>*<SymbolPath Entry #N>

In diesem Beispiel sind ein UNC-Pfad und zwei HTTP-Pfade einem virtuellen Verzeichnis zugeordnet, um die Symbole von einem Unternehmenssymbolserver, Microsoft und einem Drittanbieter (Contoso) zusammenzuführen. Der SymProxy SymbolPath wird wie folgt festgelegt:

\\MainOffice\Symbols;https://msdl.microsoft.com/download/symbols;
https://symbols.contoso.com/symbols

Die Dateifreigabe des Office-Hauptsymbols wird zuerst mithilfe des (generierten) Symbolpfads abgefragt:

SRV*D:\SymStore\Symbols*\\MainOffice\Symbols

Wenn die Symboldatei nicht gefunden wird, wird der Microsoft Symbol Store mit einem (generierten) Symbolpfad abgefragt:

SRV*D:\SymStore\Symbols*https://msdl.microsoft.com/download/symbols

Wenn die Datei immer noch nicht gefunden wird, wird der Contoso-Symbolspeicher (https://symbols.contoso.com/symbols) mithilfe des (generierten) Symbolpfads abgefragt:

SRV*D:\SymStore\Symbols*https://symbols.contoso.com/symbols

Dieser Abschnitt umfasst Folgendes:

Installieren von SymProxy

Konfigurieren der Registrierung

Auswählen von Netzwerksicherheitsanmeldeinformationen

Konfigurieren von IIS für SymProxy

Einrichten von Ausschlusslisten

Umgang mit nicht verfügbaren Symbolspeichern

Behandeln von Dateizeigern

Zwischenspeichern von erworbenen Symboldateien