Como anexar o criador de perfil a um aplicativo autônomo do .NET Framework e coletar estatísticas de aplicativo usando a linha de comando
Esse tópico descreve como usar as Ferramentas de Criação de Perfil da linha de comando Visual Studio para anexar o criador de perfis a um aplicativo autônomo nativo em execução (cliente) do .NET Framework e coletar as estatísticas de desempenho usando o método de amostragem.
Observação |
---|
Os recursos avançados de segurança no Windows 8 e Windows Server 2012 necessitaram de alterações significativas na forma que o profiler do Visual Studio coleta dados dessas plataformas.Os aplicativos da Windows Store também requerem novas técnicas de coleção.Consulte Criando perfil de aplicativos do Windows 8 e do Windows Server 2012. Ferramentas de linha de comando das Ferramentas de Criação de Perfil estão localizadas no subdiretório \Team Tools\Performance Tools do diretório de instalação 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 criador de perfis, você deve adicionar o caminho das ferramentas para a variável de ambiente PATH da janela Prompt de Comando ou adicioná-lo 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. A adição de dados de interação da camada à execução de criação de perfil requer procedimentos específicos com ferramentas de criação de perfil de linha de comando.Consulte Adicionando dados de interação entre camadas da linha de comando. |
Para coletar dados de desempenho de um aplicativo .NET Framework, as variáveis de ambiente apropriadas devem ser inicializadas antes que o aplicativo de destino seja iniciado.Quando o profiler é anexado ao aplicativo, você pode pausar e retomar a coleção de dados.
Para encerrar uma sessão de criação de perfil, o criador de perfis não deve mais estar anexado ao aplicativo, e deverá ser explicitamente desligado.Na maioria dos casos, recomendamos limpar as variáveis de ambiente de análise no final de uma sessão de análise.
Anexando o criador de perfis
Para anexar o criador de perfis a um aplicativo do .NET Framework que está em execução
Abra uma janela de prompt de comando.
Inicialize as variáveis do ambiente do perfil.Tipo:
VSPerfClrEnv /sampleon [/samplelineoff]
- A opção /samplelineoff desabilita a coleção de dados de número de linha do código-fonte.
Inicie o criador de perfis.Tipo:
**VSPerfCmd /start:sample /output:**OutputFile [Options]
A opção /start:sample inicializa o criador de perfis.
A opção /output**:**OutputFileé necessária com /startOutputFile especifica o nome e o local dos dados de perfil (.vsp).
É possível usar uma das seguintes opções com a opção /start:sample.
Opção
Descrição
/user:[Domain\]UserName
Especifica o domínio opcional e o nome do usuário da conta que possui o processo analisado.Essa opção só será necessária se o aplicativo analisado tiver sido iniciado como um usuário diferente do usuário conectado.
Permite analisar os processos em outras sessões de logon./CS pode ser especificado como uma abreviação para /crosssession.Essa opção será necessária se o aplicativo estiver sendo executado em uma sessão diferente.
/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 padrão é 500 ms.
/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).
Se necessário, inicie o aplicativo de destino normalmente.
Anexa o criador de perfis ao aplicativo de destino.Tipo:
VSPerfCmd /attach:{PID|ProcessName} [Sample Event] [**/targetclr:**Version]
PID especifica o ID do processo do aplicativo de destino.ProcessName especifica o nome do processo.Observe que se você especificar ProcessName e vários processos com o mesmo nome estiverem em execução, os resultados serão imprevisíveis.Você pode exibir os IDs de processo de todos os processos em execução no Gerenciador de Tarefas do Windows.
/targetclr**:**Version especifica a versão do common language runtime (CLR) para analisar quando mais de uma versão do runtime é carregada em um aplicativo.Opcional.
Por padrão, os dados de desempenho são provados a cada 10.000.000 ciclos de relógio não paralisado do processador.É cerca de uma vez a cada 10 segundos em um processador de 1 GH.É possível especificar uma das seguintes opções para alterar o intervalo de ciclo de relógio ou especificar um evento de amostragem diferente./targetclr**:**Version especifica a versão do CLR para analisar quando mais de uma versão do tempo de execução é carregada em um aplicativo.Opcional.
Evento de exemplo
Descrição
/timer:Interval
Altera o intervalo de amostragem para o número de ciclos de relógio não paralisados especificados por Interval.
/pf [:Interval]
Altera o evento de amostragem para falhas de página.Se Interval for especificado, ele define o número de falhas de páginas entre as amostras.O padrão é 10.
/sys [:Interval]
Altera o evento de amostragem para chamadas de sistema do processo para o kernel do sistema operacional (syscalls).Se Interval for especificado, ele define o número de chamadas entre as amostras.O padrão é 10.
/counter:Config
Altera o evento de amostragem e o intervalo para o contador de desempenho do processador e o intervalo que são especificados em Config.
Coleta de dados de controle
Durante a execução do aplicativo de destino, é possível controlar a coleção de dados iniciando e interrompendo a gravação de dados no arquivo de dados do criador de perfis usando as opções de VSPerfCmd.exe.A coleta de dados de controle permite que você colete 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 seguintes pares de opções iniciam e interrompem 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 interrompe a coleção de dados (/processoff) para o processo especificado pelo PID.
/attach inicia a coleção de dados para o processo especificado pelo PID ou pelo nome do processo (ProcName)./detach para a coleta de dados para o processo especificado ou para todos os processos se nenhum processo for especificado.
Finalizando a sessão de análise
Para finalizar uma sessão de criação de perfil, o criador de perfis deve ser desanexado de todos os processos com perfil e o criador de perfis deverá ser explicitamente encerrado.Você pode desanexar o criador de perfil de um aplicativo que teve o perfil criado com o método de amostragem fechando o aplicativo ou chamando a opção 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.O comando VSPerfClrEnv /off apaga as variáveis de ambiente de criação de perfis.
Para finalizar uma sessão de criação de perfil
Execute uma destas etapas para desanexar o criador de perfis do aplicativo de destino:
Digite VSPerfCmd /detach
- ou -
Feche o aplicativo de destino.
Encerrar o criador de perfis.Tipo:
VSPerfCmd /shutdown
(Opcional) Limpe as variáveis do ambiente do perfil.Tipo:
VSPerfClrEnv /off
Consulte também
Conceitos
Criação de perfil de linha de comando dos aplicativos autônomos
Outros recursos
Exibições de dados do método de amostragem do criador de perfil