Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use essa tarefa para indexar o código-fonte e publicar seus símbolos em um compartilhamento de arquivos ou no servidor de símbolos do Azure Artifacts.
A indexação do código-fonte permite que você use seus arquivos de símbolo para depurar seu aplicativo em um computador diferente do que você usou para criar seu aplicativo. Por exemplo, você pode depurar um aplicativo criado por um agente de build de um computador de desenvolvimento que não tem o código-fonte.
Os servidores de símbolo permitem que o depurador recupere automaticamente os arquivos de símbolo corretos sem saber nomes de produto, números de build ou nomes de pacote.
Sintaxe
# 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).
Entradas
SymbolsFolder
-
caminho para a pasta de símbolos
string
. Valor padrão: $(Build.SourcesDirectory)
.
Especifica o caminho para a pasta que é pesquisada com arquivos de símbolo. O padrão é $(Build.SourcesDirectory)
. Caso contrário, especifique um caminho com raiz, como $(Build.BinariesDirectory)/MyProject
.
Observação
Não há suporte para caminhos UNC se você selecionar o servidor de símbolos do Azure Artifacts como o tipo de servidor.
SearchPattern
-
padrão de pesquisa
string
. Obrigatório Valor padrão: **/bin/**/*.pdb
.
Especifica o padrão usado para descobrir os arquivos PDB a serem publicados. Consulte Referência de padrões de correspondência de arquivo para obter mais informações.
manifesto Manifest
-
string
.
O caminho para um arquivo que contém mais chaves de cliente de símbolo a serem publicadas.
fontes de índice IndexSources
-
boolean
. Valor padrão: true
.
Especifica se as informações do servidor de origem devem ser injetadas nos arquivos PDB. Essa opção só tem suporte em agentes do Windows.
PublishSymbols
-
Publicar símbolos
boolean
. Valor padrão: true
.
Especifica se os arquivos de símbolo devem ser publicados.
SymbolServerType
-
tipo de servidor de símbolos
string
. Necessário quando PublishSymbols = true
. Valores permitidos: TeamServices
(Servidor de Símbolos nesta organização/coleção (requer Artefatos do Azure)), FileShare
(Compartilhamento de arquivos).
Especifica onde publicar símbolos. Os símbolos publicados no servidor de símbolos do Azure Artifacts são acessíveis por qualquer usuário com acesso à organização/coleção. O Azure DevOps Server dá suporte apenas à opção File share
. Consulte as instruções para Publicar símbolos para depuração usar o Servidor de Símbolos no Azure Artifacts.
SymbolsPath
-
Caminho para publicar símbolos
string
. Opcional. Use quando PublishSymbols = true && SymbolServerType = FileShare
.
Especifica o compartilhamento de arquivos que hospeda seus símbolos. Esse valor será usado na chamada para symstore.exe add
como o parâmetro /s
.
Para preparar o repositório de símbolos do SymStore:
- Configure uma pasta em um servidor de compartilhamento de arquivos para armazenar os símbolos. Por exemplo, configure
\fabrikam-share\symbols
. - Conceda permissão de controle total para a conta de serviço do agente de build .
Se você deixar esse argumento em branco, seus símbolos serão indexados de origem, mas não publicados. Você também pode armazenar seus símbolos com suas gotas. consulte publicar artefatos de build.
CompressSymbols
-
Compactar símbolos
boolean
. Opcional. Use quando SymbolServerType = FileShare
. Valor padrão: false
.
Compacta símbolos ao publicar no compartilhamento de arquivos.
SymbolExpirationInDays
-
expiração do símbolo (em dias)
string
. Opcional. Use quando PublishSymbols = true && SymbolServerType = TeamServices
. Valor padrão: 36530
.
Especifica o número de dias que os símbolos devem ser mantidos.
IndexableFileFormats
-
formatos de arquivo de símbolo para publicar
string
. Opcional. Use quando PublishSymbols = true && SymbolServerType = TeamServices
. Valores permitidos: Default
(o conjunto padrão de símbolos a serem carregados), Pdb
(apenas símbolos baseados em Pdb windows pdb e pdb portátil gerenciado.), SourceMap
(somente símbolos SourceMap baseados em JavaScript (*.js.map)), All
(todos os formatos de símbolo com suporte). Valor padrão: Default
.
Especifica quais formatos de depuração publicar no servidor de símbolos.
DetailedLog
-
de registro em log detalhado
boolean
. Valor padrão: true
.
Especifica o log detalhado.
TreatNotIndexedAsWarning
-
Avisar se não estiver indexado
boolean
. Valor padrão: false
.
Especifica se as fontes não são indexadas para um arquivo PDB. Caso contrário, as mensagens são registradas como saída normal.
UseNetCoreClientTool
-
usar da ferramenta de cliente NetCore
boolean
. Valor padrão: false
.
Especifica se uma versão da ferramenta de upload de símbolos dá suporte a arquivos DWARF e ELF. Essa opção só importa em agentes do Windows. Em agentes que não são do Windows, a versão da ferramenta de upload de símbolo que dá suporte a arquivos DWARF e ELF sempre será usada.
SymbolsMaximumWaitTime
-
tempo máximo de espera (mínimo)
string
.
Especifica o número de minutos a aguardar antes de falhar nesta tarefa.
do produto SymbolsProduct
-
string
.
Especifica o parâmetro do produto a ser symstore.exe
. O padrão é $(Build.DefinitionName)
.
SymbolsVersion
-
versão
string
.
Especifica o parâmetro de versão a ser symstore.exe
. O padrão é $(Build.BuildNumber)
.
de nome do artefato SymbolsArtifactName
-
string
. Valor padrão: Symbols_$(BuildConfiguration)
.
Especifica o nome do artefato a ser usado para o artefato de símbolos. Isso só deve ser usado com o tipo de servidor de símbolo FileShare. O padrão é Symbols_$(BuildConfiguration)
.
Opções de controle de tarefa
Todas as tarefas têm opções de controle além das suas entradas de tarefas. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.
Variáveis de saída
Nenhum.
Observações
Use essa tarefa para indexar o código-fonte e publicar seus símbolos em um compartilhamento de arquivos ou no servidor de símbolos do Azure Artifacts.
A indexação do código-fonte permite que você use seus arquivos de símbolo para depurar seu aplicativo em um computador diferente do que você usou para criar seu aplicativo. Por exemplo, você pode depurar um aplicativo criado por um agente de build de um computador de desenvolvimento que não tem o código-fonte.
Os servidores de símbolo permitem que o depurador recupere automaticamente os arquivos de símbolo corretos sem saber nomes de produto, números de build ou nomes de pacote.
Importante
Para excluir símbolos que foram publicados usando as fontes de índice & publicar símbolos tarefa, primeiro exclua o build que gerou esses símbolos. Isso pode ser feito usando políticas de retenção ou excluindo manualmente ode execução.
Como funciona a indexação?
Ao optar por indexar as fontes, uma seção extra será injetada nos arquivos PDB. Os arquivos PDB normalmente contêm referências aos caminhos de arquivo de origem local apenas por exemplo: C:\BuildAgent_work\1\src\MyApp\Program.cs. A seção extra injetada no arquivo PDB contém instruções de mapeamento para depuradores. As informações de mapeamento indicam como recuperar o item do servidor correspondente a cada caminho local.
O depurador do Visual Studio usará as informações de mapeamento para recuperar o arquivo de origem do servidor. Um comando real para recuperar o arquivo de origem é incluído nas informações de mapeamento. Exemplo:
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
Posso usar a indexação de origem em um PDB portátil criado a partir de um assembly do .NET Core?
Não, mas você pode usar link de origem em vez disso.
Por quanto tempo os símbolos são mantidos?
Os símbolos são associados ao build publicado no Azure Pipelines que estão associados a uma compilação. Quando o build é excluído manualmente ou usando políticas de retenção, os símbolos também são excluídos. Se você quiser manter os símbolos indefinidamente, marque o build como Reter indefinidamente.
Requisitos
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico |
Execuções em | Agent, DeploymentGroup |
de demandas | Nenhum |
recursos | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
restrições de comando | Qualquer |
variáveis settable | Qualquer |
Versão do agente | 2.144.0 ou superior |
Categoria de tarefa | Construir |
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico |
Execuções em | Agent, DeploymentGroup |
de demandas | Nenhum |
recursos | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
restrições de comando | Qualquer |
variáveis settable | Qualquer |
Versão do agente | 1.95.0 ou superior |
Categoria de tarefa | Construir |