Share via


PublishSymbols@2 - Indexbronnen en publicatiesymbolen v2-taak

Gebruik deze taak om uw broncode te indexeren en uw symbolen te publiceren naar een bestandsshare of Azure Artifacts-symboolserver.

Door uw broncode te indexeren, kunt u uw symboolbestanden gebruiken om fouten in uw toepassing op te sporen op een andere computer dan de computer die u hebt gebruikt om uw toepassing te bouwen. U kunt bijvoorbeeld fouten opsporen in een toepassing die is gebouwd door een buildagent vanaf een ontwikkelcomputer die niet over de broncode beschikt.

Met symboolservers kan uw foutopsporingsprogramma automatisch de juiste symboolbestanden ophalen zonder productnamen, buildnummers of pakketnamen te kennen.

Syntax

# Index sources and publish symbols v2
# Index your source code and publish symbols to a file share or Azure Artifacts symbol server.
- task: PublishSymbols@2
  inputs:
    #SymbolsFolder: '$(Build.SourcesDirectory)' # string. Path to symbols folder. Default: $(Build.SourcesDirectory).
    SearchPattern: '**/bin/**/*.pdb' # string. Required. Search pattern. Default: **/bin/**/*.pdb.
    #IndexSources: true # boolean. Index sources. Default: true.
    #PublishSymbols: true # boolean. Publish symbols. Default: true.
    SymbolServerType: # 'TeamServices' | 'FileShare'. Required when PublishSymbols = true. Symbol server type. 
    #SymbolsPath: # string. Optional. Use when PublishSymbols = true && SymbolServerType = FileShare. Path to publish symbols. 
    #CompressSymbols: false # boolean. Optional. Use when SymbolServerType = FileShare. Compress symbols. Default: false.
    #SymbolExpirationInDays: '36530' # string. Optional. Use when PublishSymbols = true && SymbolServerType = TeamServices. Symbol Expiration (in days). Default: 36530.
  # Advanced
    #IndexableFileFormats: 'Default' # 'Default' | 'Pdb' | 'SourceMap' | 'All'. Optional. Use when PublishSymbols = true && SymbolServerType = TeamServices. Symbol file formats to publish. Default: Default.
    #DetailedLog: true # boolean. Verbose logging. Default: true.
    #TreatNotIndexedAsWarning: false # boolean. Warn if not indexed. Default: false.
    #UseNetCoreClientTool: false # boolean. Use NetCore client tool. Default: false.
    #SymbolsMaximumWaitTime: # string. Max wait time (min). 
    #SymbolsProduct: # string. Product. 
    #SymbolsVersion: # string. Version. 
    #SymbolsArtifactName: 'Symbols_$(BuildConfiguration)' # string. Artifact name. Default: Symbols_$(BuildConfiguration).
# Index sources and publish symbols v2
# Index your source code and publish symbols to a file share or Azure Artifacts symbol server.
- task: PublishSymbols@2
  inputs:
    #SymbolsFolder: '$(Build.SourcesDirectory)' # string. Path to symbols folder. Default: $(Build.SourcesDirectory).
    SearchPattern: '**/bin/**/*.pdb' # string. Required. Search pattern. Default: **/bin/**/*.pdb.
    #IndexSources: true # boolean. Index sources. Default: true.
    #PublishSymbols: true # boolean. Publish symbols. Default: true.
    SymbolServerType: # 'TeamServices' | 'FileShare'. Required when PublishSymbols = true. Symbol server type. 
    #SymbolsPath: # string. Optional. Use when PublishSymbols = true && SymbolServerType = FileShare. Path to publish symbols. 
    #CompressSymbols: false # boolean. Optional. Use when SymbolServerType = FileShare. Compress symbols. Default: false.
  # Advanced
    #DetailedLog: true # boolean. Verbose logging. Default: true.
    #TreatNotIndexedAsWarning: false # boolean. Warn if not indexed. Default: false.
    #SymbolsMaximumWaitTime: # string. Max wait time (min). 
    #SymbolsProduct: # string. Product. 
    #SymbolsVersion: # string. Version. 
    #SymbolsArtifactName: 'Symbols_$(BuildConfiguration)' # string. Artifact name. Default: Symbols_$(BuildConfiguration).
# Index sources and publish symbols v2
# Index your source code and publish symbols to a file share or Azure Artifacts Symbol Server.
- task: PublishSymbols@2
  inputs:
    #SymbolsFolder: '$(Build.SourcesDirectory)' # string. Path to symbols folder. Default: $(Build.SourcesDirectory).
    SearchPattern: '**/bin/**/*.pdb' # string. Required. Search pattern. Default: **/bin/**/*.pdb.
    #IndexSources: true # boolean. Index sources. Default: true.
    #PublishSymbols: true # boolean. Publish symbols. Default: true.
    SymbolServerType: # 'TeamServices' | 'FileShare'. Required when PublishSymbols = true. Symbol server type. 
    #SymbolsPath: # string. Optional. Use when PublishSymbols = true && SymbolServerType = FileShare. Path to publish symbols. 
    #CompressSymbols: false # boolean. Optional. Use when SymbolServerType = FileShare. Compress symbols. Default: false.
  # Advanced
    #DetailedLog: true # boolean. Verbose logging. Default: true.
    #TreatNotIndexedAsWarning: false # boolean. Warn if not indexed. Default: false.
    #SymbolsMaximumWaitTime: # string. Max wait time (min). 
    #SymbolsProduct: # string. Product. 
    #SymbolsVersion: # string. Version. 
    #SymbolsArtifactName: 'Symbols_$(BuildConfiguration)' # string. Artifact name. Default: Symbols_$(BuildConfiguration).

Invoerwaarden

SymbolsFolder - Pad naar de map symbolen
string. Standaardwaarde: $(Build.SourcesDirectory).

Hiermee geeft u het pad naar de map die wordt gezocht met symboolbestanden. De standaardwaarde is $(Build.SourcesDirectory). Geef anders een geroot pad op, zoals $(Build.BinariesDirectory)/MyProject.

Notitie

UNC-paden worden niet ondersteund als u de symboolserver voor Azure Artifacts selecteert als het servertype.


SearchPattern - Search patroon
string. Vereist. Standaardwaarde: **/bin/**/*.pdb.

Hiermee geeft u het patroon op dat wordt gebruikt om de PDB-bestanden te detecteren die moeten worden gepubliceerd. Zie Naslaginformatie over bestandsmatchingspatronen voor meer informatie.


IndexSources - Indexbronnen
boolean. Standaardwaarde: true.

Hiermee geeft u op of bronservergegevens moeten worden ingevoerd in de PDB-bestanden. Deze optie wordt alleen ondersteund op Windows-agents.


PublishSymbols - Symbolen publiceren
boolean. Standaardwaarde: true.

Hiermee geeft u op of de symboolbestanden moeten worden gepubliceerd.


SymbolServerType - Symboolservertype
string. Vereist wanneer PublishSymbols = true. Toegestane waarden: TeamServices (Symboolserver in deze organisatie/verzameling (vereist Azure-artefacten)), FileShare (bestandsshare).

Hiermee geeft u op waar symbolen moeten worden gepubliceerd. Symbolen die zijn gepubliceerd naar de symboolserver van Azure Artifacts, zijn toegankelijk voor elke gebruiker met toegang tot de organisatie/verzameling. Azure DevOps Server ondersteunt alleen de File share optie. Zie de instructies voor Het publiceren van symbolen voor foutopsporing voor het gebruik van Symbol Server in Azure Artifacts.


SymbolsPath - Pad voor het publiceren van symbolen
string. Optioneel. Gebruik wanneer PublishSymbols = true && SymbolServerType = FileShare.

Hiermee geeft u de bestandsshare op die als host fungeert voor uw symbolen. Deze waarde wordt in de aanroep gebruikt symstore.exe add als de /s parameter . Uw SymStore-symboolarchief voorbereiden:

  1. Stel een map in op een server voor het delen van bestanden om de symbolen op te slaan. Stel bijvoorbeeld in \fabrikam-share\symbols.
  2. Machtiging voor volledig beheer verlenen aan het serviceaccount van de buildagent.

Als u dit argument leeg laat, worden de symbolen wel geïndexeerd, maar niet gepubliceerd. U kunt uw symbolen ook bij uw druppels opslaan. Zie BuildArtefacten publiceren.


CompressSymbols - Symbolen comprimeren
boolean. Optioneel. Gebruik wanneer SymbolServerType = FileShare. Standaardwaarde: false.

Hiermee worden symbolen gecomprimeerd bij het publiceren naar een bestandsshare.


SymbolExpirationInDays - Symbool vervaldatum (in dagen)
string. Optioneel. Gebruik wanneer PublishSymbols = true && SymbolServerType = TeamServices. Standaardwaarde: 36530.

Hiermee geeft u het aantal dagen op dat symbolen moeten worden bewaard.


IndexableFileFormats - Symboolbestandsindelingen om te publiceren
string. Optioneel. Gebruik wanneer PublishSymbols = true && SymbolServerType = TeamServices. Toegestane waarden: Default (De standaardset met symbolen die moeten worden geüpload), Pdb (Alleen op Pdb gebaseerde symbolen van Windows pdb en beheerde draagbare pdb's.), SourceMap (Alleen op JavaScript gebaseerde SourceMap-symbolen (*.js.map)), All (Alle ondersteunde symboolindelingen). Standaardwaarde: Default.

Hiermee geeft u op welke foutopsporingsindelingen moeten worden gepubliceerd naar de symboolserver.


DetailedLog - Uitgebreide logboekregistratie
boolean. Standaardwaarde: true.

Hiermee geeft u uitgebreide logboekregistratie op.


TreatNotIndexedAsWarning - Waarschuwen als deze niet is geïndexeerd
boolean. Standaardwaarde: false.

Hiermee geeft u op of moet worden gewaarschuwd als bronnen niet zijn geïndexeerd voor een PDB-bestand. Anders worden de berichten geregistreerd als normale uitvoer.


UseNetCoreClientTool - NetCore-clienthulpprogramma gebruiken
boolean. Standaardwaarde: false.

Hiermee geeft u op of een versie van het hulpprogramma voor het uploaden van symbolen moet worden gebruikt die ONDERSTEUNING biedt voor DWERG- en ELF-bestanden. Deze optie is alleen van belang voor Windows-agents. Op niet-Windows-agents wordt altijd de versie van het hulpprogramma voor het uploaden van symbolen gebruikt die ONDERSTEUNING biedt voor DWERG- en ELF-bestanden.


SymbolsMaximumWaitTime - Maximale wachttijd (min.)
string.

Hiermee geeft u het aantal minuten dat moet worden gewacht voordat deze taak mislukt.


SymbolsProduct - Product
string.

Hiermee geeft u de productparameter op op symstore.exe. De standaardwaarde is $(Build.DefinitionName).


SymbolsVersion - Versie
string.

Hiermee geeft u de versieparameter op op symstore.exe. De standaardwaarde is $(Build.BuildNumber).


SymbolsArtifactName - Naam van artefact
string. Standaardwaarde: Symbols_$(BuildConfiguration).

Hiermee geeft u de naam van het artefact te gebruiken voor de symbolenartefact. Dit mag alleen worden gebruikt met het servertype FileShare-symbool. De standaardwaarde is Symbols_$(BuildConfiguration).


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Besturingsopties en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Gebruik deze taak om uw broncode te indexeren en uw symbolen te publiceren naar een bestandsshare of Azure Artifacts-symboolserver.

Door uw broncode te indexeren, kunt u uw symboolbestanden gebruiken om fouten in uw toepassing op te sporen op een andere computer dan de computer die u hebt gebruikt om uw toepassing te bouwen. U kunt bijvoorbeeld fouten opsporen in een toepassing die is gebouwd door een buildagent vanaf een ontwikkelcomputer die niet over de broncode beschikt.

Met symboolservers kan uw foutopsporingsprogramma automatisch de juiste symboolbestanden ophalen zonder productnamen, buildnummers of pakketnamen te kennen.

Belangrijk

Als u symbolen wilt verwijderen die zijn gepubliceerd met behulp van de & de taak Symbolen publiceren , moet u eerst de build verwijderen die deze symbolen heeft gegenereerd. Dit kan worden bereikt met behulp van bewaarbeleid of door de uitvoering handmatig te verwijderen.

Hoe werkt indexeren?

Als u ervoor kiest om de bronnen te indexeren, wordt er een extra sectie in de PDB-bestanden geïnjecteerd. PDB-bestanden bevatten normaal gesproken alleen verwijzingen naar de lokale bronbestandspaden, bijvoorbeeld : C:\BuildAgent_work\1\src\MyApp\Program.cs. De extra sectie die in het PDB-bestand wordt geïnjecteerd, bevat toewijzingsinstructies voor foutopsporingsprogramma's. De toewijzingsgegevens geven aan hoe het serveritem moet worden opgehaald dat overeenkomt met elk lokaal pad.

Het foutopsporingsprogramma van Visual Studio gebruikt de toewijzingsgegevens om het bronbestand op te halen van de server. Een werkelijke opdracht voor het ophalen van het bronbestand is opgenomen in de toewijzingsgegevens. Voorbeeld:

tf.exe git view /collection:http://SERVER:8080/tfs/DefaultCollection /teamproject:"93fc2e4d-0f0f-4e40-9825-01326191395d" /repository:"647ed0e6-43d2-4e3d-b8bf-2885476e9c44" /commitId:3a9910862e22f442cd56ff280b43dd544d1ee8c9 /path:"/MyApp/Program.cs" /output:"C:\Users\username\AppData\Local\SOURCE~1\TFS_COMMIT\3a991086\MyApp\Program.cs" /applyfilters

Kan ik bronindexering gebruiken voor een draagbare PDB die is gemaakt op basis van een .NET Core-assembly?

Nee, maar u kunt in plaats daarvan Bronkoppeling gebruiken.

Hoe lang worden symbolen bewaard?

Symbolen zijn gekoppeld aan de build die is gepubliceerd naar Azure Pipelines. Ze zijn gekoppeld aan een build. Wanneer de build handmatig wordt verwijderd of met behulp van bewaarbeleid, worden de symbolen ook verwijderd. Als u de symbolen voor onbepaalde tijd wilt behouden, markeert u de build als Voor onbepaalde tijd behouden.

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 2.144.0 of hoger
Taakcategorie Build
Vereiste Beschrijving
Pijplijntypen YAML, klassieke build
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 1.95.0 of hoger
Taakcategorie Build

Zie ook