Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 symbolfilerna 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.
    #Manifest: # string. Manifest. 
    #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.
    #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).
Ingångar
              SymbolsFolder
               - 
              sökväg till
              string. Standardvärde: $(Build.SourcesDirectory).
Anger sökvägen till den mapp som söks efter med symbolfiler. Standardvärdet är $(Build.SourcesDirectory). Annars anger du en rotad sökväg, till exempel $(Build.BinariesDirectory)/MyProject.
Anmärkning
UNC-sökvägar stöds inte om du väljer Azure Artifacts-symbolservern som servertyp.
              SearchPattern
               - 
              Sökmönster
              string. Obligatoriskt. Standardvärde: **/bin/**/*.pdb.
Anger det mönster som används för att identifiera PDB-filerna som ska publiceras. Mer information finns i referensen för filmatchningsmönster.
              Manifest
               - 
              Manifestera
              string.
Sökvägen till en fil som innehåller fler symbolklientnycklar att publicera.
              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 endast alternativet File share. Se instruktioner för att Publicera symboler för felsökning av för att använda Symbolserver i Azure Artifacts.
              SymbolsPath
               - 
              sökväg för att publicera symboler
              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 parametern /s.
Så här förbereder du SymStore-symbolarkivet:
- Konfigurera en mapp på en fildelningsserver för att lagra symbolerna. Du kan till exempel konfigurera \fabrikam-share\symbols.
- Ge fullständig behörighet till build-agentens tjänstkonto.
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 symboler ska behållas.
              IndexableFileFormats
               - 
              symbolfilformat för publicering av
              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 Windows-pdb och hanterade bärbara pdb-datorer).), 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 den inte är indexerad
              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änd 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 antalet minuter att vänta innan den här uppgiften misslyckas.
              SymbolsProduct
               - 
              Produkt
              string.
Anger produktparametern för att 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-symbolserver.  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
Ingen.
Anmärkningar
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 symbolfilerna 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 publicerats med hjälp av indexkällor & publicera symboler uppgift 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ökningsprogrammet 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 Source Link i stället.
Hur länge behålls symboler?
Symboler är associerade med den version som publicerats i Azure Pipelines och som de är associerade med en version. När bygget tas bort manuellt eller med hjälp av kvarhållningsprinciper tas även symbolerna 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 | 
| kräver | Ingen | 
| funktioner | Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet. | 
| Kommandobegränsningar | Vilken som helst | 
| variabler som kan | Vilken som helst | 
| Agentversion | 2.144.0 eller senare | 
| Aktivitetskategori | Skapa | 
| Krav | Beskrivning | 
|---|---|
| Pipelinetyper | YAML, klassisk version | 
| Körs på | Agent, DeploymentGroup | 
| kräver | Ingen | 
| funktioner | Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet. | 
| Kommandobegränsningar | Vilken som helst | 
| variabler som kan | Vilken som helst | 
| Agentversion | 1.95.0 eller senare | 
| Aktivitetskategori | Skapa |