Diagnose von Problemen im Build

Die Diagnose und die Behebung von Buildproblemen sind normale Aufgaben in der Softwareentwicklung. Team Foundation Build stellt Tools bereit, die Ihnen beim Debuggen und bei der Behebung beispielsweise folgender Probleme helfen:

  • Fehlgeschlagene oder teilweise erfolgreiche Builds

  • Ausnahmen, Fehler oder Warnungen

  • Unerwartete Ereignisse oder Ergebnisse

Was möchten Sie tun?

  • Herausfinden, warum ein Build nicht ausgeführt wird

  • Im Fenster "Buildergebnisse" nach Informationen zu einem Problem suchen

  • Anfordern und Anzeigen von Diagnoseprotokollen

  • Das Buildsystem überprüfen und den Buildprozess debuggen

  • Weitere Tipps erhalten

Erforderliche Berechtigungen

Sie müssen auf dem Buildserver Mitglied der Windows-Administratorgruppe und auf der Teamprojektauflistung Mitglied der Gruppe "Projektauflistungs-Buildadministratoren" sein. Siehe Berechtigungsreferenz für Team Foundation Server.

Herausfinden, warum ein Build nicht ausgeführt wird

Wenn der Build der nächste in der Warteschlange ist, aber noch nicht ausgeführt wird, stellen Sie sicher, dass der Buildcontroller und mindestens einer der zugehörigen Build-Agents verfügbar und aktiviert sind. Wenn bei dem Buildprozess Build-Agent-Filter verwendet werden, müssen Sie sicherstellen, dass ein Build-Agent verfügbar und aktiviert ist, der die Kriterien erfüllt. Siehe Verwalten des Buildsystems, Angeben, von welchen Build-Agents der Build verarbeitet wird und Bereitstellen und Konfigurieren eines Build-Agents.

Im Fenster "Buildergebnisse" nach Informationen zu einem Problem suchen

Wenn der Build ausgeführt wird, bei einem Teil des Prozesses hängen bleibt oder abgeschlossen ist, können Sie weitere Informationen zu den Problemen im Fenster "Buildergebnisse" erhalten. Wählen Sie Protokoll anzeigen aus, um ausführlichere Informationen anzuzeigen:

  • Wählen Sie Nächster Fehler oder Nächste Warnung aus, um direkt zu den Problemen im Build zu gelangen.

  • Wählen Sie jeden angezeigten Link zu einer MSBuild-Protokolldatei aus, um ausführlichere Informationen zu Ereignissen abzurufen, die beim Kompilieren des Codes und anderen durch die MSBuild-Aktivität ausgeführten Aufgaben aufgetreten sind.

  • Sie können Informationen kopieren und bei Bedarf für Personen freigeben, die Ihnen beim Beheben der Probleme helfen können. Wählen Sie bestimmte Passagen im Protokoll aus, oder öffnen Sie ein Kontextmenü an einer die oft ausgegebene Befehlszeilen Stelle im Protokoll, und wählen Sie dann Alles auswählen aus. Anschließend können Sie ein Kontextmenü öffnen und Kopieren auswählen, um den Text in die Zwischenablage zu kopieren.

Diagnoseprotokolle anzeigen

Wenn Sie noch nicht über genügend Informationen verfügen, um das Problem zu diagnostizieren, können Sie ausführlichere Diagnoseprotokolle anzeigen. Wählen Sie im Fenster "Buildergebnisse" die Option Diagnose aus, und führen Sie anschließend einen der folgenden Schritte aus:

  • Wenn der Build abgeschlossen ist, wählen Sie Endgültige Protokolle wie von date and time aus.

  • Wenn der Build noch nicht abgeschlossen ist, wählen Sie Anforderungsprotokolle aus.

    Abrufen des Diagnoseprotokolls

    Die Protokolle werden vom System zusammengestellt.

    Wenn die Protokolle zur Verfügung stehen, wählen Sie Diagnose und dann Von date and time für User who requested the log aus.

Wenn die Ausgaben der Buildphasen in einem Ablageordner mit UNC-Pfad erfolgen, wird vom System ein Unterordner des Ablageordners geöffnet, der die Diagnoseprotokolle enthält. Nachdem Sie den Ablageordner geöffnet oder die ZIP-Datei heruntergeladen haben, können Sie eines der folgenden Protokolle anzeigen:

  • Vom Buildcontroller: ActivityLog

  • Von jedem Build-Agent, der am Build beteiligt war: **ActivityLog.AgentScope.**Build_Agent_ID

  • Für jede Projektmappe, die durch die MSBuild-Aktivität kompiliert wurde: Solution_Name

Sie zeigen diese Protokolle am besten an, indem Sie sie auf den Entwicklungscomputer kopieren und dort öffnen.

Hinweis

Wenn Sie Visual Studio 2010 verwenden, wird das Menü Diagnose im Fenster "Buildergebnisse" nicht angezeigt. Sie können die Diagnoseprotokolle im Ablageordner jedoch dennoch anzeigen, wenn der Build abgeschlossen ist.

Das Buildsystem überprüfen und den Buildprozess debuggen

Einige Probleme können vom lokalen Buildsystem verursacht werden.

Tipp

Versuchen Sie, den Entwicklungscomputer als Buildserver bereitzustellen, damit Sie leichter direkt auf die Umgebung zugreifen können, in der der Buildprozess ausgeführt wird.Siehe Bereitstellen und Konfigurieren eines Buildservers.

Die Buildsystemkomponenten überprüfen

Vergewissern Sie sich, dass der Buildserver, der Buildcontroller und der Build-Agent ordnungsgemäß konfiguriert sind. Siehe Bereitstellen und Konfigurieren eines Buildservers, Bereitstellen und Konfigurieren eines Buildcontrollers und Bereitstellen und Konfigurieren eines Build-Agents.

Melden Sie sich am Buildserver an und überprüfen Sie, ob dieser ordnungsgemäß funktioniert. Sie können ausführliche Diagnosedaten auch auf dem Buildserver anzeigen. Siehe Verwalten des Buildsystems.

Einen Buildprozess auf dem Buildserver debuggen

Debuggen Sie den Buildprozess auf dem Buildserver, um Probleme zu diagnostizieren, die von Aktivitäten eines benutzerdefinierten Buildprozesses oder von nicht abgefangenen Ausnahmen verursacht werden.

  1. Melden Sie sich am Buildserver an.

  2. Führen Sie Visual Studio als Administrator aus.

  3. Wählen Sie in Visual Studio in der Menüleiste Tools und dann An den Prozess anhängen aus.

  4. Führen Sie im Dialogfeld An den Prozess anhängen die folgenden Schritte aus:

    1. Wählen Sie Prozesse aller Benutzer anzeigen aus.

    2. Wählen Sie TFSBuildServiceHost.exe aus.

    3. Wählen Sie Anfügen aus.

  5. Wählen Sie in der Menüleiste Debuggen und dann Ausnahmen aus. Wählen Sie im Dialogfeld Ausnahmen die Option Common Language Runtime-Ausnahmen aus. Klicken Sie auf OK.

  6. Wählen Sie in der Menüleiste Tools und dann Optionen aus. Wählen Sie im Dialogfeld Optionen im Strukturbereich Debuggen aus. Deaktivieren Sie in der Liste Allgemein das Kontrollkästchen Nur meinen Code aktivieren. Klicken Sie auf OK.

  7. Stellen Sie den Build in Visual Studio in die Warteschlange, und vergewissern Sie sich, dass er auf einem Buildcontroller und einem Buildserver ausgeführt wird, die auf dem Buildserver gehostet werden, auf dem Sie den Debugger aktiviert haben.

Sie können nun Ausnahmen debuggen, die während des Buildprozesses ausgelöst werden. Außerdem können Sie Haltepunkte festlegen und die Aktivitäten des benutzerdefinierten Buildprozesses debuggen. Siehe Debuggen in Visual Studio.

Tipps

  • Tipp Während Sie Probleme mit einem Buildprozess diagnostizieren, können Sie eigene Probleme und die Probleme von Teamkollegen speichern, indem Sie den Prozess anhalten, bis Sie die Probleme beheben können:

    • Bearbeiten Sie die Builddefinition, und wählen Sie dann im unteren Bereich der Registerkarte Allgemein die Option Angehalten aus.

    • Um die Korrekturen am Buildprozess zu testen, wählen Sie einen Build in der Warteschlange aus, öffnen Sie dessen Kontextmenü, und wählen Sie dann Jetzt starten aus.

  • TippWenn Sie der Meinung sind, eine der Buildsystemkomponenten könnte die Ursache eines der Probleme sein, können Sie einen Buildserver starten, stoppen oder neu starten oder einen Controller oder Agent nach Bedarf aktivieren oder deaktivieren. Siehe Verwalten des Buildsystems.

  • TippHäufig müssen Sie beim Versuch, Buildprozessprobleme zu korrigieren, einen Build wiederholt mit den gleichen Optionen in die Warteschlange stellen, um verschiedene Korrekturen zu testen. Sie können einen Build schnell erneut ausführen:

    • Im Fenster "Buildergebnisse" können Sie die Option Aktionen und dann Build wiederholen auswählen.

    • In Team Explorer oder Build Explorer können Sie auf der Seite "Builds " einen abgeschlossenen Build auswählen, das zugehörige Kontextmenü öffnen und Build wiederholen auswählen.

  • TippVerwenden Sie den gehosteten Buildcontroller? Siehe Verwenden des gehosteten Buildcontrollers.