Veröffentlichen von Symbolen mit Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

Mit Azure Pipelines können Sie Ihre Symbole mithilfe der Aufgabe Quellen indizieren und Symbole veröffentlichen auf dem Azure Artifacts-Symbolserver veröffentlichen. Sie können den Debugger verwenden, um automatisch eine Verbindung mit den richtigen Symboldateien herzustellen und diese abzurufen, ohne Produktnamen, Buildnummern oder Paketnamen zu kennen. Mithilfe von Azure Pipelines können Sie Ihre Symbole auch in Dateifreigaben und portierbaren PDBs veröffentlichen.

Hinweis

Die Aufgabe Quellen indizieren und Symbole veröffentlichen wird in Releasepipelines nicht unterstützt.

Veröffentlichen von Symbolen auf dem Azure Artifacts-Symbolserver

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Ihre Pipelines aus, und wählen Sie dann Bearbeiten aus, um Ihre Pipeline zu bearbeiten.

  3. Wählen Sie in Ihrer Pipelinedefinition das Pluszeichen (+) aus, um eine neue Aufgabe hinzuzufügen.

  4. Suchen Sie nach der Aufgabe Quellen indizieren und Symbole veröffentlichen. Wählen Sie Hinzufügen aus, um sie Ihrer Pipeline hinzuzufügen.

  5. Füllen Sie die erforderlichen Felder wie folgt aus:

    • Aufgabenversion: 2.\*.

    • Anzeigename: Anzeigename der Aufgabe.

    • Pfad zum Symbolordner: Pfad zu dem Ordner, in dem die Symboldateien gehostet werden.

    • Suchmuster: Das Muster, mit dem nach den PDB-Dateien in dem Ordner gesucht wird, den Sie als Pfad zum Symbolordner angegeben haben. Platzhalterzeichen für einzelne Ordner (*) und rekursive Platzhalterzeichen (**) werden unterstützt. Beispiel: *\bin**.pdb: sucht nach allen PDB-Dateien in allen Unterverzeichnissen namens bin.

    • Quellen indizieren: Gibt an, ob Quellserverinformationen in die PDB-Dateien eingefügt werden sollen.

    • Symbole veröffentlichen: Gibt an, ob die Symboldateien veröffentlicht werden sollen.

      • Symbolservertyp: Wählen Sie Symbolserver in dieser Organisation/Sammlung (erfordert Azure Artifacts) aus, um Ihre Symbole auf dem Azure Artifacts-Symbolserver zu veröffentlichen.
    • Ausführliche Protokollierung: Nehmen Sie weitere Informationen in Ihre Protokolle auf.

Screenshot showing how to configure the index sources and publish symbols task to publish symbols to Azure Artifacts symbol server.

Veröffentlichen von Symbolen in einer Dateifreigabe

Mit der Aufgabe Quellen indizieren und Symbole veröffentlichen können Sie Ihre Symbole nicht nur auf dem Azure Artifacts-Symbolserver, sondern auch in einer Dateifreigabe veröffentlichen.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Ihre Pipelines aus, und wählen Sie dann Bearbeiten aus, um Ihre Pipeline zu bearbeiten.

  3. Wählen Sie in Ihrer Pipelinedefinition das Pluszeichen (+) aus, um eine neue Aufgabe hinzuzufügen.

  4. Suchen Sie nach der Aufgabe Quellen indizieren und Symbole veröffentlichen. Wählen Sie Hinzufügen aus, um sie Ihrer Pipeline hinzuzufügen.

  5. Füllen Sie die erforderlichen Felder wie folgt aus:

    • Aufgabenversion: 2.\*.

    • Anzeigename: Anzeigename der Aufgabe.

    • Pfad zum Symbolordner: Pfad zu dem Ordner, in dem die Symboldateien gehostet werden.

    • Suchmuster: Das Muster, mit dem nach den PDB-Dateien in dem Ordner gesucht wird, den Sie als Pfad zum Symbolordner angegeben haben.

    • Quellen indizieren: Gibt an, ob Quellserverinformationen in die PDB-Dateien eingefügt werden sollen.

    • Symbole veröffentlichen: Gibt an, ob die Symboldateien veröffentlicht werden sollen.

      • Symbolservertyp: Wählen Sie Dateifreigabe aus, um Ihre Symbole in einer Dateifreigabe zu veröffentlichen.
      • Pfad zum Veröffentlichen von Symbolen: Die Dateifreigabe, in der Ihre Symbole gehostet werden sollen.
    • Ausführliche Protokollierung: Aktivieren Sie diese Option, wenn Sie weitere Informationen in Ihre Protokolle aufnehmen möchten.

    Screenshot showing how to configure the index sources and publish symbols task to publish symbols to a file share.

Veröffentlichen von portierbaren PDBs auf dem Azure Artifacts-Symbolserver

Portierbare PDBs sind Symboldateien, die auf allen Plattformen erstellt und verwendet werden können, im Gegensatz zu den herkömmlichen PDBs, die nur unter Windows verwendet werden. Bei portierbaren PDBs kümmert sich der um die Indizierung, Sie müssen jedoch weiterhin die Aufgabe Quellen indizieren und Symbole veröffentlichen verwenden, um Ihre Symbole zu veröffentlichen.

Source Link ist eine Reihe von Tools, mit denen Entwickler*innen ihren Quellcode debuggen können, indem sie die .NET-Assemblys wieder dem Quellcode zuordnen. Sehen Sie sich das GitHub-Repository dotnet/sourcelink an, um mehr über die verschiedenen enthaltenen Pakete zu erfahren.

  • Fügen Sie für Projekte, die auf GitHub gehostet werden, den Paketverweis Microsoft.SourceLink.GitHub zu Ihrer Projektdatei hinzu.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • Fügen Sie für Projekte, die in Azure Repos (ehemals Visual Studio Team Services) gehostet werden, den Paketverweis Microsoft.SourceLink.AzureRepos.Git zu Ihrer Projektdatei hinzu.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.AzureRepos.Git" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • Fügen Sie für Projekte, die auf Azure DevOps Server (ehemals Team Foundation Server) gehostet werden, den Paketverweis Microsoft.SourceLink.AzureDevOpsServer.Git zu Ihrer Projektdatei hinzu.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.AzureDevOpsServer.Git" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    

Einrichten der Veröffentlichungsaufgabe

Sie verwenden die Aufgaben der Quellenindizierung und Veröffentlichung von Symbole, um Ihren Quellcode zu indizieren und Ihre Symbole auf dem Azure Artifacts-Symbolserver und geteilten Dateiablagen zu veröffentlichen. Da wir Source Link verwenden, deaktivieren wir die Indizierung in der Veröffentlichungsaufgabe.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Ihre Pipelines aus, und wählen Sie dann Bearbeiten aus, um Ihre Pipeline zu bearbeiten.

  3. Wählen Sie in Ihrer Pipelinedefinition das Pluszeichen (+) aus, um eine neue Aufgabe hinzuzufügen.

  4. Suchen Sie nach der Aufgabe Quellen indizieren und Symbole veröffentlichen. Wählen Sie Hinzufügen aus, um sie Ihrer Pipeline hinzuzufügen.

  5. Füllen Sie die erforderlichen Felder aus, und wählen Sie Symbolserver für den Symbolservertyp aus. Stellen Sie sicher, dass Sie Indexquellen deaktivieren, um die Indizierung zu deaktivieren.

    A screenshot showing how to configure the publish task to publish portable PDBs to Azure Artifacts symbol server.

Wichtig

Zum Löschen von Symbolen, die mithilfe der Aufgaben Quellen indizieren und Symbole veröffentlichen veröffentlicht wurden, müssen Sie zuerst den Build löschen, der diese Symbole generiert hat. Dazu können Sie Aufbewahrungsrichtlinien verwenden oder die Ausführung manuell löschen.

Einrichten von Visual Studio

Hinweis

Visual Studio für Mac unterstützt das Debuggen mithilfe von Symbolservern nicht.

Bevor wir mit der Nutzung unserer Symbole vom Azure Artifacts-Symbolserver beginnen, stellen wir sicher, dass Visual Studio ordnungsgemäß eingerichtet ist:

  1. Wählen Sie in Visual Studio Extras und dann Optionen aus.

  2. Wählen Sie aus dem Menü Debuggen die Option Symbole aus.

  3. Wählen Sie das Zeichen + aus, um einen neuen Symbolserverspeicherort hinzuzufügen.

    Screenshot showing how to add a new symbol server location.

  4. Ein neues Dialogfeld erscheint. Wählen Sie im Dropdownmenü Ihr Konto aus, und wählen Sie dann die Organisation aus, mit der Sie eine Verbindung herstellen möchten. Wählen Sie Verbinden aus, wenn Sie fertig sind.

  5. Wählen Sie im selben Debuggen-Abschnitt die Option Allgemein aus. Scrollen Sie nach unten, und aktivieren Sie Unterstützung für Source Link aktivieren, um die Unterstützung für portierbare PDBs zu aktivieren.

    A screenshot showing how to enable source link support in Visual studio.

Hinweis

Durch Aktivieren der Option Quellserverunterstützung aktivieren können Sie einen Quellserver verwenden, wenn der Quellcode nicht lokal vorhanden ist oder die Symboldatei nicht mit dem Quellcode übereinstimmt. Wenn Sie das Debuggen von Drittanbieter-Quellcode aktivieren möchten, deaktivieren Sie das Kontrollkästchen Nur eigenen Code aktivieren.

Häufig gestellte Fragen

F: Wie lange werden Symbole aufbewahrt?

A: Eine Symboldatei hat denselben Aufbewahrungszeitraum wie der Build, der sie generiert hat. Wenn Sie einen Build manuell oder gemäß Aufbewahrungsrichtlinien löschen, werden auch die von diesem Build generierten Symbole gelöscht.

F: Kann ich die Quellindizierung für eine portierbare PDB-Datei verwenden, die aus einer .NET Core-Assembly generiert wurde?

A: Das ist zurzeit nicht möglich. Die Quellindizierung wird für portierbare PDBs derzeit nicht unterstützt. Der empfohlene Ansatz besteht darin, den Build so zu konfigurieren, dass er die Indizierung ausführt.