Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As ferramentas C++ Build Insights estão disponíveis no Visual Studio 2019 e posterior. Para ver a documentação desta versão, defina o controle do selector de versão do Visual Studio para este artigo como Visual Studio 2019 ou posterior. Encontra-se na parte superior do índice desta página.
Este artigo fornece detalhes sobre cada uma das exibições do C++ Build Insights disponíveis no Windows Performance Analyzer (WPA). Use esta página para encontrar:
- descrições das colunas de dados; e
- predefinições disponíveis para cada visualização, incluindo a utilização pretendida e o modo de visualização preferido.
Se você é novo no WPA, recomendamos que primeiro se familiarize com os conceitos básicos do WPA for C++ Build Insights.
Explorador de Build
O modo de exibição Build Explorer é usado para:
- diagnosticar problemas de paralelismo,
- determinar se o tempo de compilação é dominado pela análise, geração de código ou vinculação, e
- identificar gargalos e processos de construção excepcionalmente longos.
Criar colunas de dados de exibição do Explorer
| Nome da Coluna | Descrição |
|---|---|
| Descrição da Linha do Tempo de Construção | Uma descrição textual da linha do tempo em que a atividade ou propriedade atual ocorre. |
| BuildTimelineId | Um identificador baseado em zero para a linha do tempo em que a atividade ou propriedade atual ocorre. |
| Componente | O componente que está sendo compilado ou vinculado quando o evento atual foi emitido. O valor desta coluna é <Invocation X Info> quando nenhum componente está associado a este evento. X é um identificador numérico único para a invocação que está sendo executada no momento em que o evento foi emitido. Esse identificador é o mesmo que o da coluna InvocationId para esse evento. |
| Contar | O número de atividades ou propriedades representadas por esta linha de dados. Esse valor é sempre 1 e só é útil em cenários de agregação quando várias linhas são agrupadas. |
| ExclusivoCPUTime | A quantidade de tempo da CPU em milissegundos usada por esta atividade. O tempo gasto em atividades infantis não está incluído neste valor. |
| Duração Exclusiva | A duração em milissegundos da atividade. A duração das atividades infantis não está incluída neste montante. |
| InclusiveCPUTime | A quantidade de tempo da CPU em milissegundos usada por esta atividade e todas as atividades da criança. |
| Duração Inclusiva | A duração de milissegundos desta atividade, incluindo todas as atividades infantis. |
| InvocaçãoDescrição | Uma descrição textual da invocação em que este evento ocorreu. A descrição inclui se foi cl.exe ou link.exee um identificador de invocação numérico exclusivo. Se aplicável, inclui o caminho completo para o componente compilado ou vinculado durante a invocação. Para invocações que não criam nenhum componente ou para aquelas que criam vários componentes, o caminho está em branco. O identificador de invocação é o mesmo da coluna InvocationId. |
| IdentificadorDeInvocação | Um identificador numérico exclusivo para a invocação em que esse evento ocorreu. |
| Nome | O nome da atividade ou propriedade representada por este evento. |
| Tempo / Hora | Um carimbo de data/hora que identifica quando o evento ocorreu. |
| Ferramenta | A ferramenta em execução quando este evento ocorreu. O valor desta coluna é CL ou Link. |
| Tipo | O tipo do evento atual. Este valor é "Activity" ou "Property". |
| Valor | Se o evento atual for uma propriedade, esta coluna conterá o seu valor. Esta coluna é deixada em branco quando o evento atual é uma atividade. |
Predefinições de exibição do Build Explorer
| Nome predefinido | Modo de visualização preferencial | Modo de Utilização |
|---|---|---|
| Estatísticas da Atividade | Gráfico / Tabela | Use esta predefinição para exibir estatísticas agregadas para todas as atividades do Build Explorer. No modo de tabela, diga rapidamente se sua compilação é dominada pela análise, geração de código ou pelo vinculador. As durações agregadas para cada atividade são classificadas em ordem decrescente. Aprofunde-se expandindo o nó principal para encontrar facilmente quais invocações levam mais tempo para essas atividades principais. Se desejar, você pode ajustar as configurações do WPA para mostrar médias ou outros tipos de agregações. No modo de gráfico, veja quando cada atividade está ativa durante a compilação. |
| Invocações | Gráfico | Percorra para baixo uma lista de invocações na vista de gráfico ordenadas por hora de início. Você pode usá-lo junto com a visualização CPU (Sampled) para localizar invocações que se alinham com zonas de baixa utilização da CPU. Detete problemas de paralelismo. |
| Propriedades de invocação | Tabela | Encontre rapidamente informações importantes sobre um determinado compilador ou invocação de vinculador. Determine sua versão, diretório de trabalho ou a linha de comando completa usada para invocá-lo. |
| Linhas cronológicas | Gráfico | Veja um gráfico de barras de como sua compilação foi paralelizada. Identifique rapidamente problemas de paralelismo e gargalos. Configure o WPA para atribuir diferentes significados às barras de acordo com as suas necessidades. Escolha descrições de invocação como a última coluna agrupada para exibir um gráfico de barras codificado por cores de todas as suas invocações. Ajuda-o a identificar rapidamente os consumidores de tempo. Em seguida, aumente o zoom e escolha o nome da atividade como a última coluna agrupada para ver as partes mais longas. |
Ficheiros
A vista Ficheiros é utilizada para:
- determinar quais cabeçalhos são incluídos com mais frequência, e
- ajudá-lo a decidir o que incluir em um cabeçalho pré-compilado (PCH).
Colunas de visualização de dados dos ficheiros
| Nome da Coluna | Descrição |
|---|---|
| Nome da Atividade | A atividade a decorrer quando este evento de ficheiro foi emitido. Atualmente, este valor é sempre Parsing. |
| Descrição da Linha do Tempo de Construção | * |
| BuildTimelineId | * |
| Componente | * |
| Contar | * |
| Profundidade | A posição baseada em zero na árvore de inclusão na qual esse arquivo é encontrado. A contagem começa na raiz da árvore de inclusão. Um valor de 0 normalmente corresponde a um arquivo .c/.cpp. |
| Duração Exclusiva | * |
| IncluídoPor | O caminho completo do ficheiro que contém o ficheiro atual. |
| Caminho Incluído | O caminho completo do arquivo atual. |
| Duração Inclusiva | * |
| IdentificadorDeInvocação | * |
| HoraDeInício | Um timestamp que representa a hora em que o evento atual do ficheiro foi emitido. |
| Ferramenta | * |
* O valor desta coluna é o mesmo que na visualização Build Explorer .
Predefinições de visualização de ficheiros
| Nome predefinido | Modo de visualização preferencial | Modo de Utilização |
|---|---|---|
| Estatísticas | Tabela | Veja quais arquivos tiveram o maior tempo de análise agregado observando a lista em ordem decrescente. Use essas informações para ajudá-lo a reestruturar seus cabeçalhos ou decidir o que incluir em sua PCH. |
Funções
A visualização Funções é usada para identificar funções com um tempo de geração de código excessivamente longo.
Colunas de dados na vista de funções
| Nome da Coluna | Descrição |
|---|---|
| Nome da Atividade | A atividade em andamento quando esse evento de função foi emitido. Atualmente, esse valor é sempre CodeGeneration. |
| Descrição da Linha do Tempo de Construção | * |
| BuildTimelineId | * |
| Componente | * |
| Contar | * |
| Duração | A duração da atividade de geração de código para esta função. |
| Nome da função | O nome da função que está passando pela geração de código. |
| IdentificadorDeInvocação | * |
| HoraDeInício | Um registo de data/hora que representa quando o evento da função atual foi emitido. |
| Ferramenta | * |
* O valor desta coluna é o mesmo que na visualização Build Explorer .
Predefinições de visualização de funções
| Nome predefinido | Modo de visualização preferencial | Modo de Utilização |
|---|---|---|
| Estatísticas | Tabela | Veja quais funções tiveram o maior tempo de geração de código agregado observando a lista em ordem decrescente. Eles podem sugerir onde seu código usa demais a __forceinline palavra-chave ou que algumas funções podem ser muito grandes. |
| Linhas cronológicas | Gráfico | Veja este gráfico de barras para saber a localização e a duração das funções que levam mais tempo a gerar. Verifique se eles se alinham com os gargalos na vista do Build Explorer. Se isso acontecer, tome as medidas apropriadas para reduzir o tempo de geração de código e beneficiar seus tempos de compilação. |
Ver também
Introdução ao C++ Build Insights
Referência: comandos vcperf
Tutorial: Noções básicas do Analisador de Desempenho do Windows
Analisador de Desempenho do Windows