Nosso servidor de compilação está demorando muito para criar um de nossos projetos em C ++. Ele usa o Visual Studio 2008. Existe alguma maneira de obter o devenv.com para registrar o tempo necessário para criar cada projeto na solução, para que eu saiba onde concentrar meus esforços?
O hardware aprimorado não é uma opção neste caso.
Tentei definir a verbosidade de saída (em Ferramentas / Opções / Projetos e soluções / Compilar e executar / Projeto MSBuild, compilar verbosidade de saída). Isso não parece ter nenhum efeito no IDE.
Ao executar o MSBuild a partir da linha de comando (e, para o Visual Studio 2008, ele precisa ser o MSBuild v3.5), ele exibe o tempo total decorrido no final, mas não no IDE.
Eu realmente queria um relatório demorado para cada projeto na solução, para poder descobrir onde o processo de compilação estava demorando.
Como alternativa, já que usamos o NAnt para conduzir o processo de compilação (usamos o Jetbrains TeamCity), existe uma maneira de fazer o NAnt me dizer o tempo necessário para cada etapa?
fonte
Vá para Ferramentas → Opções → Projetos e soluções → Compilar e executar → Detalhamento da saída da compilação do projeto MSBuild - defina como "Normal" ou "Detalhado" e o tempo de compilação aparecerá na janela de saída.
fonte
Visual Studio 2012-2019
Para projetos do MSBuild (por exemplo, todos os projetos .Net):
Clique
Tools -> Options
e selecioneProjects and Solutions -> Build and Run
. MudeMSBuild project build output verbosity
paraNormal
. Portanto, ele exibirá o tempo decorrido em todos os projetos de solução criados. Mas, infelizmente, não há soma de tempo decorrido em todo o projeto. Você também verá o carimbo de data / hora iniciado pela compilaçãoPara o projeto C / C ++:
Clique
Tools -> Options
e depois selecioneProjects and Solutions -> VC++ Project Settings
.Mude
Build Timing
paraYes
.fonte
Build Timing
uma vez que exibe apenas o tempo total.Para o Visual Studio 2012, você pode usar a extensão Build Monitor .
fonte
Se você está preso no VS2005, pode usar o plug-in vs-build-timer . Na conclusão de uma construção, mostra o tempo total gasto e um resumo (opcional) de cada uma das durações do projeto.
Aviso Legal; Eu escrevi. E sim, preciso criar um instalador ... um dia!
fonte
Ferramentas-> Opções-> Projetos e Soluções-> Construir e Executar->
Defina "verbosidade de saída do build do projeto MSBuild" de "Mínimo" para "Normal"
fonte
Se você deseja visualizar sua compilação, pode usar o IncrediBuild. O IncrediBuild agora está disponível no modo autônomo (não distribuído, mas para uso apenas em 8 núcleos em sua máquina local) gratuitamente como parte da Atualização 1 do Visual Studio 2015
Isenção de responsabilidade: trabalho para o IncrediBuild
fonte
Como sua pergunta envolve o uso do DevEnv na linha de comando, sugiro também o uso do MSBuild (que pode criar arquivos .sln sem modificação).
msbuild /?
mostrará outras opções úteis para o registrador de arquivos.fonte
Criei uma extensão para medir os tempos de compilação e apresentar a ordem dos eventos em um gráfico: Visual Studio Build Timer .
Está disponível no mercado do visual studio e funciona para o VS2015, VS2017 e VS2019.
Acho a apresentação visual bastante útil. Além de mostrar quais projetos demoram mais, também mostra dependências entre eles, ou seja, projetos que aguardam a conclusão de outros antes de começar. Dessa maneira, você pode identificar gargalos na compilação e ver quais dependências precisam ser quebradas para aumentar a paralelização da compilação.
fonte
Acabei aqui porque queria apenas a data e a hora incluídas na saída da compilação. Caso outras pessoas procurem algo semelhante, é tão simples quanto adicionar
echo %date% %time%
aos eventos de Pré-compilação e / ou Pós-compilação no projeto, Propriedades → Compilar → Compilar Eventos .fonte
Faça uma compilação primeiro e veja qual projeto está aparecendo primeiro na saída da compilação ( Ctrl+ Homena janela de saída). Clique com o botão direito do mouse nesse projeto → Propriedades do projeto → Compilar → Criar eventos → Pré-compilar . E
echo ###########%date% %time%#############
.Portanto, toda vez que você vê resultados da compilação (ou durante a compilação), faça Ctrl+ Homena janela de saída. E em algum lugar nessa área, a hora e a data olham para o seu rosto!
Ah, e você pode acabar adicionando esses detalhes a muitos projetos, pois a ordem de construção pode mudar :)
Encontrei uma solução melhor! ###
Ferramentas → Opções → Projetos e soluções → Construir e executar → Projeto MSBuild criar verbosidade de saída = Normal (ou acima de Mínimo ). Isso adiciona o tempo no início / topo da janela de saída. Ctrl+ Homena janela de saída deve fazer.
Se quisermos ver quanto tempo cada projeto leva, então Projetos e Soluções → Configurações do Projeto VC ++ → Tempo de Construção = yes . É aplicável a todos os projetos; "VC ++" é enganoso.
fonte
Se você deseja chamar um programa externo que pode rastrear o tempo total de compilação, use a seguinte solução para o VS 2010 (e talvez mais antigo). O código abaixo usa CTime by Casey Muratori. Obviamente, você também pode usá-lo para simplesmente imprimir o tempo de compilação.
Abra o macro explorer e cole o seguinte antes
End Module
:Resposta tirada daqui e aqui .
fonte
Opções -> Projetos e soluções -> Configurações do projeto VC ++ -> Tempo da compilação
fonte