Wie können zentral gebaute Debug-Symbole verteilt werden? Wie kann man Quellcode für das Debugging in der richtigen Version passend zur Applikationsversion bereitstellen?
TFS 2010 bringt im Build-Prozess die Unterstützung für Source- und Symbol-Server mit. Damit lassen sich Debug-Symbole und die entsprechenden Quellcode-Daten zentral verteilen. So können Entwickler eine zentral gebaute Applikation (z.B. von der Drop Location aus) starten und debuggen. Im Falle einer Exception kann dann an die richtige Stelle im Quellcode gesprungen werden.
Konfiguration
Zur Einrichtung dieser Funktionalität müssen 3 Aspekte konfiguriert werden:
- Source- und Symbol-Server
- Build-Prozess
- Visual Studio auf den Clients
Die Einrichtung der Server erfordert die folgenden Schritte:
- Anlegen eines File-Shares z.B. mit Namen Symbols
- Vergabe von Full Control-Berechtigungen auf diesem Verzeichnis für den Build-Service-Account
- Vergabe von Read-Berechtigungen auf diesem Verzeichnis für die zugreifenden Benutzer-Accounts
Der Build-Prozess muss entsprechend angepasst werden, damit Debug-Symbole und Source-Informationen veröffentlicht werden. Dazu muss in der Build-Definition der Parameter Index Sources und Path to Publish Symbols.
Auf Client-Seite muss der Symbol-Server entsprechend eingestellt werden:
- Setzen der Symbols-Einstellungen
- Aktivieren der Symbol-Server-Funktionalität
Das Ergebnis
Als Ergebnis springt der Debugger zum Beispiel im Falle einer Exception direkt an die Code-Stelle der Datei in der entsprechenden Source-Control-Version (hier die Datei AccountService.cs in Version Changeset 29):
Sollten die Symboldateien von einer nicht vertrauswürdigen Quelle (gemäß der Netzwerkeinstellungen) kommen, wird der Nutzer entsprechend vorgewarnt:
Fazit
Mit dem Source- und Symbol-Server lässt sich das Debuggen der zentral gebauten Applikationen stark vereinfachen, indem direkt in den richtigen Quellcode (korrekte Stelle, richtige Version) gesprungen wird.