PublishSymbols@2 – Indexkällor och publicera symboler v2-uppgift

Använd den här uppgiften för att indexera källkoden och publicera dina symboler till en filresurs eller Azure Artifacts-symbolserver.

Genom att indexera källkoden kan du använda dina symbolfiler för att felsöka ditt program på en annan dator än den som du använde för att skapa ditt program. Du kan till exempel felsöka ett program som skapats av en byggagent från en utvecklingsdator som inte har källkoden.

Med symbolservrar kan felsökaren automatiskt hämta rätt symbolfiler utan att känna till produktnamn, byggnummer eller paketnamn.

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).

Indata

SymbolsFolder - Sökväg till symbolmapp
string. Standardvärde: $(Build.SourcesDirectory).

Anger sökvägen till mappen som söks efter med symbolfiler. Standardvärdet är $(Build.SourcesDirectory). Annars anger du en rotad sökväg, till exempel $(Build.BinariesDirectory)/MyProject.

Anteckning

UNC-sökvägar stöds inte om du väljer Azure Artifacts-symbolservern som servertyp.


SearchPattern - Search mönster
string. Krävs. Standardvärde: **/bin/**/*.pdb.

Anger det mönster som används för att identifiera PDB-filerna som ska publiceras. Mer information finns i Referens för filmatchningsmönster .


IndexSources - Indexkällor
boolean. Standardvärde: true.

Anger om källserverinformation ska matas in i PDB-filerna. Det här alternativet stöds endast på Windows-agenter.


PublishSymbols - Publicera symboler
boolean. Standardvärde: true.

Anger om symbolfilerna ska publiceras.


SymbolServerType - Symbolservertyp
string. Krävs när PublishSymbols = true. Tillåtna värden: TeamServices (Symbolserver i den här organisationen/samlingen (kräver Azure Artifacts)), FileShare (filresurs).

Anger var du vill publicera symboler. Symboler som publiceras på Azure Artifacts-symbolservern är tillgängliga för alla användare med åtkomst till organisationen/samlingen. Azure DevOps Server stöder bara alternativetFile share. Se anvisningarna för att publicera symboler för felsökning för att använda symbolserver i Azure Artifacts.


SymbolsPath - Sökväg till publiceringssymboler
string. Valfritt. Använd när PublishSymbols = true && SymbolServerType = FileShare.

Anger den filresurs som är värd för dina symboler. Det här värdet används i anropet till symstore.exe add som parameter./s Så här förbereder du SymStore-symbolarkivet:

  1. Konfigurera en mapp på en fildelningsserver för att lagra symbolerna. Du kan till exempel konfigurera \fabrikam-share\symbols.
  2. Bevilja fullständig behörighet till build agent-tjänstkontot.

Om du lämnar det här argumentet tomt kommer dina symboler att vara källindexerade men inte publicerade. Du kan också lagra dina symboler med dina droppar. Se Publicera byggartefakter.


CompressSymbols - Komprimera symboler
boolean. Valfritt. Använd när SymbolServerType = FileShare. Standardvärde: false.

Komprimerar symboler vid publicering till filresurs.


SymbolExpirationInDays - Symbolens giltighetstid (i dagar)
string. Valfritt. Använd när PublishSymbols = true && SymbolServerType = TeamServices. Standardvärde: 36530.

Anger hur många dagar som symbolerna ska behållas.


IndexableFileFormats - Symbolfilformat som ska publiceras
string. Valfritt. Använd när PublishSymbols = true && SymbolServerType = TeamServices. Tillåtna värden: Default (Standarduppsättningen med symboler som ska laddas upp), Pdb (Endast Pdb-baserade symboler För Windows-pdb och hanterade bärbara pdb-tecken). SourceMap (Endast JavaScript-baserade SourceMap-symboler (*.js.map)), All (Alla symbolformat som stöds). Standardvärde: Default.

Anger vilka felsökningsformat som ska publiceras på symbolservern.


DetailedLog - Utförlig loggning
boolean. Standardvärde: true.

Anger utförlig loggning.


TreatNotIndexedAsWarning - Varna om det inte är indexerat
boolean. Standardvärde: false.

Anger om du vill varna om källor inte indexeras för en PDB-fil. Annars loggas meddelandena som normala utdata.


UseNetCoreClientTool - Använda NetCore-klientverktyget
boolean. Standardvärde: false.

Anger om du vill använda en version av symboluppladdningsverktyget som stöder DWARF- och ELF-filer. Det här alternativet är bara viktigt för Windows-agenter. På icke-Windows-agenter används alltid den version av symboluppladdningsverktyget som stöder DWARF- och ELF-filer.


SymbolsMaximumWaitTime - Maximal väntetid (min)
string.

Anger hur många minuter som ska vänta innan den här uppgiften misslyckas.


SymbolsProduct - Produkt
string.

Anger produktparametern till symstore.exe. Standardvärdet är $(Build.DefinitionName).


SymbolsVersion - Version
string.

Anger versionsparametern till symstore.exe. Standardvärdet är $(Build.BuildNumber).


SymbolsArtifactName - Artefaktnamn
string. Standardvärde: Symbols_$(BuildConfiguration).

Anger artefaktnamnet som ska användas för symbolartefakten. Detta bör endast användas med servertypen FileShare-symbol. Standardvärdet är Symbols_$(BuildConfiguration).


Kontrollalternativ för aktivitet

Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Inga.

Kommentarer

Använd den här uppgiften för att indexera källkoden och publicera dina symboler till en filresurs eller Azure Artifacts-symbolserver.

Genom att indexera källkoden kan du använda dina symbolfiler för att felsöka ditt program på en annan dator än den som du använde för att skapa ditt program. Du kan till exempel felsöka ett program som skapats av en byggagent från en utvecklingsdator som inte har källkoden.

Med symbolservrar kan felsökaren automatiskt hämta rätt symbolfiler utan att känna till produktnamn, byggnummer eller paketnamn.

Viktigt

Om du vill ta bort symboler som har publicerats med hjälp av aktiviteten Indexkällor & Publicera symboler måste du först ta bort den version som genererade dessa symboler. Detta kan åstadkommas med hjälp av kvarhållningsprinciper eller genom att manuellt ta bort körningen.

Hur fungerar indexering?

Genom att välja att indexera källorna matas ett extra avsnitt in i PDB-filerna. PDB-filer innehåller normalt endast referenser till sökvägarna för lokala källfiler, t.ex. C:\BuildAgent_work\1\src\MyApp\Program.cs. Det extra avsnittet som matas in i PDB-filen innehåller mappningsinstruktioner för felsökningsprogram. Mappningsinformationen anger hur du hämtar serverobjektet som motsvarar varje lokal sökväg.

Visual Studio-felsökaren använder mappningsinformationen för att hämta källfilen från servern. Ett faktiskt kommando för att hämta källfilen ingår i mappningsinformationen. Exempel:

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 jag använda källindexering på en bärbar PDB som skapats från en .NET Core-sammansättning?

Nej, men du kan använda Källlänk i stället.

Hur länge behålls symboler?

Symboler associeras med den version som publicerats i Azure Pipelines som de är associerade med en version. När versionen tas bort antingen manuellt eller med hjälp av kvarhållningsprinciper tas symbolerna också bort. Om du vill behålla symbolerna på obestämd tid markerar du bygget som Behåll på obestämd tid.

Krav

Krav Beskrivning
Pipelinetyper YAML, klassisk version
Körs på Agent, DeploymentGroup
Krav Ingen
Funktioner Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet.
Kommandobegränsningar Valfri
Inställningsbara variabler Valfri
Agentversion 2.144.0 eller senare
Uppgiftskategori Build
Krav Beskrivning
Pipelinetyper YAML, klassisk version
Körs på Agent, DeploymentGroup
Krav Ingen
Funktioner Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet.
Kommandobegränsningar Valfri
Inställningsbara variabler Valfri
Agentversion 1.95.0 eller senare
Uppgiftskategori Build

Se även