Veröffentlichen von Symbolen zum Debuggen

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

Mit Azure-Pipelines können Sie Ihre Symbole mithilfe der Indexquellen und der Aufgabe "Symbole veröffentlichen " in Azure-Artefakten-Symbolserver veröffentlichen. Sie können den Debugger verwenden, um eine Verbindung herzustellen und automatisch die richtigen Symboldateien abzurufen, ohne Produktnamen, Buildnummern oder Paketnamen zu kennen. Mithilfe von Azure-Pipelines können Sie Ihre Symbole auch in Dateienfreigaben und tragbaren PDBs veröffentlichen.

Hinweis

Die Aufgabe "Indexquellen" und "Veröffentlichen von Symbolen " wird in Releasepipelinen nicht unterstützt.

Veröffentlichen von Symbolen auf dem Symbolserver für Azure-Artefakte

Um Ihre Symbole auf dem Server für Azure-Artefakte zu veröffentlichen, können Sie die Aufgabe "Indexquellen & veröffentlichen von Symbolen " verwenden.

  1. Wählen Sie + in Der Pipelinedefinition aus, um einen neuen Vorgang hinzuzufügen.

  2. Suchen Sie nach den Indexquellen und veröffentlichen Sie die Symbolaufgabe . Wählen Sie "Hinzufügen " aus, um sie ihrer Pipeline hinzuzufügen.

    Screenshot, der zeigt, wie Sie die Indexquellen hinzufügen und Symbole zur aktuellen Pipeline veröffentlichen

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

    Screenshot mit den Indexquellen und Veröffentlichen von Symbolaufgaben zum Veröffentlichen von Symbolen auf dem Symbolserver für Azure-Artefakte

  • Vorgangsversion: 2.\*.

  • Anzeigename: Anzeigename des Vorgangs.

  • Pfad zum Symbolordner: Pfad zum Ordner, der die Symboldateien hostt.

  • Suchmuster: Das Muster, das verwendet wird, um die pdb-Dateien im Ordner zu finden, den Sie im Ordner "Pfad zu Symbolen" angegeben haben. Einzelordner-Wildcard () und rekursive Wildcards (***) werden unterstützt. Beispiel: *\bin*.pdb sucht nach allen PDB-Dateien in allen Bin-Unterverzeichnissen.

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

  • Veröffentlichen von Symbolen: Gibt an, ob die Symboldateien veröffentlicht werden sollen.

    • Symbolservertyp: Wählen Sie " Symbolserver" in dieser Organisation/Auflistung aus (erfordert Azure-Artefakte), um Ihre Symbole auf azure Artifacts-Symbolserver zu veröffentlichen.
  • Verbose Protokollierung: Überprüfen Sie, um weitere Informationen in Ihre Protokolle einzuschließen.

Veröffentlichen von Symbolen in einer Dateifreigabe

Neben dem Azure-Symbolserver können Sie Ihre Symbole auch mithilfe der Aufgabe "Indexquellen" und "Symbole veröffentlichen " in einer Dateifreigabe veröffentlichen.

  1. Wählen Sie + in Der Pipelinedefinition aus, um einen neuen Vorgang hinzuzufügen.

  2. Suchen Sie nach den Indexquellen und veröffentlichen Sie die Symbolaufgabe . Wählen Sie "Hinzufügen " aus, um sie ihrer Pipeline hinzuzufügen.

    Screenshot, der zeigt, wie Sie die Indexquellen hinzufügen und Symbole zur aktuellen Pipeline veröffentlichen

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

    Screenshot mit den Indexquellen und der Aufgabe

  • Vorgangsversion: 2.\*.

  • Anzeigename: Anzeigename des Vorgangs.

  • Pfad zum Symbolordner: Pfad zum Ordner, der die Symboldateien hostt.

  • Suchmuster: Das Muster, das verwendet wird, um die pdb-Dateien im Ordner zu finden, den Sie im Ordner "Pfad zu Symbolen" angegeben haben.

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

  • Veröffentlichen von Symbolen: 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, die Ihre Symbole hosten wird.
  • Verbose Protokollierung: Überprüfen Sie, um weitere Informationen in Ihre Protokolle einzuschließen.

Veröffentlichen von tragbaren PDBs auf Dem Symbolserver für Azure-Artefakte

Tragbare PDBs sind Symboldateien, die auf allen Plattformen im Gegensatz zu den herkömmlichen PDBs erstellt und verwendet werden können, die nur unter Windows verwendet werden. Bei tragbaren PDBs führt der Build die Indizierung aus, sie müssen jedoch weiterhin die Aufgabe "Indexquellen" und "Symbole veröffentlichen" verwenden, um Ihre Symbole zu veröffentlichen.

Der Quelllink ist eine Reihe von Tools, mit denen Entwickler ihren Quellcode debuggen können, indem sie von den .NET-Assemblys zurück zum Quellcode zugeordnet werden. Schauen Sie sich das Dotnet/sourcelink GitHub-Repository an, um mehr über die verschiedenen Pakete zu erfahren.

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

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • Fügen Sie für Projekte, die auf Azure Repos gehostet werden, den Microsoft.SourceLink.AzureRepos.Git Paketverweis 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 gehostet werden, den Microsoft.SourceLink.AzureDevOpsServer.Git Paketverweis zu Ihrer Projektdatei hinzu.

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

Einrichten der Veröffentlichungsaufgabe

Die Aufgabe "Indexquellen & Veröffentlichen von Symbolen" wird verwendet, um Ihren Quellcode zu indizieren und Ihre Symbole auf azure Artifacts-Symbolserver zu veröffentlichen. Da wir Source Link verwenden, deaktivieren wir die Indizierung in der Veröffentlichungsaufgabe.

  1. Wählen Sie + in Der Pipelinedefinition aus, um einen neuen Vorgang hinzuzufügen.

  2. Suchen Sie nach den Indexquellen und veröffentlichen Sie die Symbolaufgabe . Wählen Sie "Hinzufügen " aus, um sie ihrer Pipeline hinzuzufügen.

    Screenshot, der zeigt, wie Sie die Indexquellen hinzufügen und Symbole zur aktuellen Pipeline veröffentlichen

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

    Screenshot, der zeigt, wie Sie die Veröffentlichungsaufgabe so konfigurieren, dass Symbole auf azure Artifacts-Symbolserver veröffentlicht werden.

  • Vorgangsversion: 2.\*.

  • Indexquellen: Deaktivieren Sie die Indizierung. Die Quellindexierung in der Veröffentlichungsaufgabe ist beim Verwenden von Source Link nicht erforderlich.

  • Veröffentlichen von Symbolen: Gibt an, ob die Symboldateien veröffentlicht werden sollen.

    • Symbolservertyp: Wählen Sie " Symbolserver" in dieser Organisation/Auflistung aus (erfordert Azure-Artefakte), um Ihre Symbole auf azure Artifacts-Symbolserver zu veröffentlichen.

Wichtig

Um Symbole zu löschen, die mithilfe der Aufgabe "Indexquellen & veröffentlichende Symbole" veröffentlicht wurden, müssen Sie zuerst den Build löschen, der diese Symbole generiert hat. Dies kann mithilfe von Aufbewahrungsrichtlinien oder durch manuelles Löschen der Ausführung erreicht werden.

Einrichten von Visual Studio

Hinweis

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

Bevor Sie mit dem Verwenden unserer Symbole auf dem Azure-Symbolserver für Artefakte beginnen, stellen wir sicher, dass Visual Studio ordnungsgemäß eingerichtet ist:

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

  2. Wählen Sie "Symbole " im Debugmenü aus.

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

    Screenshot zum Hinzufügen eines neuen Symbolserverspeicherorts

  4. Ein neues Dialogfeld wird geöffnet, wählen Sie Ihr Konto im Dropdownmenü 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 "Allgemein " aus demselben Debugabschnitt aus. Scrollen Sie nach unten, und überprüfen Sie die Unterstützung für Source Link Unterstützung für tragbare PDBs.

    Unterstützung für quelllinks aktivieren

Hinweis

Mit der Option " Quellserverunterstützung aktivieren " können Sie Quellserver verwenden, wenn auf dem lokalen Computer kein Quellcode vorhanden ist oder die Symboldatei nicht mit dem Quellcode übereinstimmt. Wenn Sie das Debuggen von Quellcode von Drittanbietern aktivieren möchten, deaktivieren Sie das Kontrollkästchen "Just My Code aktivieren".

Häufig gestellte Fragen

F: Wie lange werden Symbole aufbewahrt?

A: Eine Symboldatei verfügt über den gleichen Aufbewahrungszeitraum wie der Build, der sie generiert hat. Wenn Sie einen Build entweder manuell oder mithilfe von Aufbewahrungsrichtlinien löschen, werden auch die von diesem Build generierten Symbole gelöscht.

F: Kann ich Quellindexierung auf einem tragbaren PDB verwenden, der aus einer .NET Core-Assembly generiert wurde?

A: Dies ist derzeit nicht möglich. Die Quellindexierung wird derzeit nicht für tragbare PDBs unterstützt. Der empfohlene Ansatz besteht darin, Ihren Build so zu konfigurieren, dass die Indizierung ausgeführt wird.