Como anexar o criador de perfil a um aplicativo autônomo nativo e coletar dados de simultaneidade usando a linha de comando
Este tópico descreve como usar as ferramentas de linha de comando de Visual Studio Ferramentas de Criação de Perfil para anexar o profiler (C/C++) a um aplicativo autônomo nativo em execução e para coletar dados de contenção do thread.
Observação |
---|
As ferramentas de linha de comando de Ferramentas de Criação de Perfil estão localizadas no no subdiretório \ ferramentas de equipe \ ferramentas de desempenho do diretório de instalação do Visual Studio.Nos computadores de 64 bits, ambas as versões de 64 bits e de 32 bits das ferramentas está disponível.Para usar as ferramentas de linha de comando do profiler, você deve adicionar o caminho de ferramentas para a variável de ambiente PATH da janela de Prompt de Comando ou adicioná-la ao próprio comando.Para obter mais informações, consulte Especificando o caminho para ferramentas de linha de comando de ferramentas de criação de perfil. |
Quando o profiler é anexado ao aplicativo, você pode pausar e retomar a coleção de dados.Para finalizar uma sessão, o Criador de Perfis não deve estar anexado ao aplicativo e deve ser explicitamente fechado.
Anexando o profiler para um aplicativo nativo em execução
Para anexar o profiler para um aplicativo nativo em execução
Em um prompt de comando, digite o seguinte comando:
VSPerfCmd/start:concurrency
Você pode usar qualquer uma das opções na seguinte tabela com a opção de /start:concurrency.
Opção
Descrição
/user:[Domain\]Username
Especifica o domínio e o nome da conta de usuário opcionais para ter acesso concedido ao profiler.
Permite analisar os processos em outras sessões de logon.
/wincounter:WinCounterPath
Especifica o contador de desempenho do Windows que será coletado durante a análise.
/automark:Interval
Uso com /wincounter somente.Especifica o número de milissegundos entre eventos de coleção contador de desempenho do Windows.O valor padrão é 500.
/events:Config
Especifica um rastreamento de evento para evento do Windows (ETW) para ser coletado durante a análise.Os eventos de ETW são coletados em um arquivo separado (.etl).
Anexe o profiler para o aplicativo de destino digitando o seguinte comando:
VSPerfCmd /attach:{PID|ProcName}
PID especifica o ID do processo do aplicativo de destino.Você pode exibir os IDs de processo de todos os processos em execução no Gerenciador de Tarefas do Windows.
Coleta de dados de controle
Quando o aplicativo destino é executado, você pode controlar a coleção de dados iniciando e parando a escrita de dados para o arquivo usando opções de VSPerfCmd.exe.Controlando a coleção de dados, você pode coletar dados para uma parte específica de execução do programa, como o inicio ou término do aplicativo.
Para iniciar e parar a coleção de dados
Os pares de opções na tabela a seguir começam e param a coleção de dados.Especifique cada opção em uma linha separada de comando.É possível desativar e ativar a coleção de dados várias vezes.
Opção
Descrição
Inicia (/globalon) ou para (/globaloff) a coleção de dados para todos os processos.
/processon:PID/processoff:PID
Inicia (/processon) ou para (/processoff) a coleção de dados para o processo que a identificação de processo (PID) especificar.
/attach inicia a coleção de dados para o processo que o ID do processo (PID) ou nome do processo (ProcName) identifica./detach para a coleta de dados para o processo especificado ou para todos os processos se nenhum processo é especificado.
Finalizando a sessão de análise
Para finalizar uma sessão, o profiler não deve estar coletando dados.Você pode interromper a coleta de dados de um aplicativo que foi analisado com o método de amostragem fechando o aplicativo ou invocando a opção de VSPerfCmd /detach .Então, você chama a opção VSPerfCmd /shutdown para desativar o criador de perfis e fechar o arquivo de dados de criação de perfil.
Para finalizar uma sessão de criação de perfil
Desanexe o profiler do aplicativo de destino fechando o ou digitando o seguinte comando:
VSPerfCmd /detach
Feche o profiler digitando o seguinte comando:
VSPerfCmd /shutdown