Compartilhar via


Como anexar o criador de perfil a um serviço nativo para coletar dados de simultaneidade usando a linha de comando

Esse tópico descreve com usar as Visual Studio Ferramentas de Criação de Perfil da linha de comando para anexar o criador de perfis a um serviço nativo (C/C++) e coletar dados de simultaneidade do thread usando o método de amostragem.

ObservaçãoObservaçã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.

ObservaçãoObservaçã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 o criador de perfis em um prompt de comando, você deve adicionar o caminho das ferramentas à variável de ambiente PATH da janela de 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.

Quando o profiler é anexado ao serviço, 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 serviço e deverá ser explicitamente desligado.

Anexando o criador de perfis

Para anexar o criador de perfis a um serviço nativo, use as opções VSPerfCmd/start e /attach para inicializar o criador de perfis e anexá-lo ao aplicativo de destino.Você pode especificar /start e /attach e suas respectivas opções em uma única linha de comando.Você também pode adicionar a opção /globaloff para pausar a coleta de dados no início do aplicativo de destino.Em seguida, use o /globalon para iniciar a coleta de dados.

Para anexar o criador de perfis a um serviço nativo

  1. Se o serviço não estiver sendo executado, inicie-o.

  2. Inicie o criador de perfis digitando o seguinte no prompt de comando:

    VSPerfCmd/start:concurrency **/output:**OutputFile [Options]

    • A opção /output**:**OutputFileé necessária com /startOutputFile especifica o nome e o local do arquivo (.vsp) de dados de análise.

    Você pode usar qualquer opção na seguinte tabela com a opção /start .

    ObservaçãoObservação

    A maioria dos serviços requerem a opção de /user e de /crosssession.

    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.

    /crosssession

    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).

  3. Anexe o criador de perfis ao serviço digitando o seguinte comando em um prompt de comando.

    **VSPerfCmd /attach:**PID

    PID especifica o nome ou 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

Durante a execução do aplicativo destino, é possível controlar a coleção de dados iniciando e interrompendo a gravação de dados para o arquivo com as 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

    /globalon /globaloff

    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:{PID|ProcName} /detach[:{PID|ProcName}]

    /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.É possível parar de coletar dados de um de um serviço nativo que está sendo analisado com o método de simultaneidade, interrompendo o serviço ou invocando 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.

Para finalizar uma sessão de criação de perfil

  1. Desanexe o criador de perfis do aplicativo de destino, interrompendo o serviço ou digitando o seguinte comando no prompt de comando:

    Digite VSPerfCmd /detach

  2. Desligue o profiler digitando o seguinte comando em um prompt de comando.

    VSPerfCmd /shutdown