Como: Anexar o Profiler para um serviço nativo para coletar dados de simultaneidade, usando a linha de comando
Este tópico descreve como usar o Visual Studio Ferramentas de linha de comando de ferramentas de criação de perfil para anexar o profiler para um serviço nativo de (C/C++) e coletar dados de simultaneidade de thread e processo usando o método de amostragem.
Observação |
---|
Ferramentas de linha de comando das ferramentas de criação de perfil estão localizadas na subpasta \Team Tools\Performance ferramentas da Visual Studio diretório de instalação. Em computadores de 64 bits, as versões de 64 bits e de 32 bits das ferramentas estão disponíveis. Para usar o profiler em um prompt de comando, você deve adicionar o caminho de ferramentas para a variável de ambiente PATH do o Prompt de comando janela ou para o próprio comando. Para obter mais informações, consulte Especificando o caminho para as ferramentas de linha de comando de criação de perfil. |
Enquanto o profiler é anexado ao serviço, você pode pausar e reiniciar a coleta de dados. Para finalizar uma sessão de criação de perfil, o Profiler não deve ser anexado ao serviço e o criador de perfil deve ser desligado explicitamente.
Anexar o Profiler
Para anexar o profiler para um serviço nativo, você usar o VSPerfCmd /start e /attach Opções para inicializar o profiler e anexá-lo para o 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 o /globaloff opção para interromper a coleta de dados no início do aplicativo de destino. Você usar /globalon para começar a coletar dados.
Para anexar o Profiler para um serviço nativo
Se o serviço não estiver sendo executado, inicie o serviço.
Inicie o profiler, digitando o seguinte no prompt de comando:
VSPerfCmd /start:concurrency[,{ResourceOnly|ThreadOnly}] **/output:**OutputFile [Options]
O /start opção inicializa o profiler.
A tabela a seguir descreve o /start parâmetros que podem ser usados para especificar os dados de simultaneidade para coletar.
/start:concurrency
Permite coletar dados de execução do thread e de contenção de recursos.
/start:concurrency,resourceonly
Habilita a coleta de dados somente de contenção de recursos.
/start:concurrency,threadonly
Habilita a coleta de dados de execução de thread único.
O /output**:**OutputFile opção é necessária com /start. OutputFileEspecifica o nome e o local do arquivo de dados (. vsp) de criação de perfil.
Você pode usar qualquer opção na tabela a seguir com o /start opção.
Observação A maioria dos serviços exigem o /user e /crosssession opção.
Opção
Descrição
/user:Domain\UserName
Especifica o domínio opcional e nome de usuário da conta para ter acesso ao profiler.
Permite criação de perfil de processos em outras sessões de logon.
/wincounter:WinCounterPath
Especifica um contador de desempenho do Windows a serem coletados durante perfilação.
/automark:Interval
Use com /wincounter somente. Especifica o número de milissegundos entre eventos de coleção de contadores de desempenho do Windows. O valor padrão é 500.
/Events:Config
Especifica um evento de rastreamento de eventos para Windows (ETW) a serem coletados durante perfilação. Eventos ETW são coletados em um arquivo separado (. ETL).
Anexe o profiler para o serviço digitando o seguinte comando em um prompt de comando:
**VSPerfCmd /attach:**PID
PIDEspecifica o ID do processo ou o nome do processo do aplicativo de destino. Você pode exibir as identificações de todos os processos em execução de processos no Gerenciador de tarefas do Windows.
Controlar a coleta de dados
Durante a execução do aplicativo de destino, você pode controlar a coleta de dados por iniciar e parar a gravação de dados para o arquivo com as opções de VSPerfCmd. Por controlar a coleta de dados, você pode coletar dados para uma parte específica da execução do programa, como, por exemplo, o início ou o desligamento do aplicativo.
Para iniciar e interromper a coleta de dados
Os pares de opções na tabela a seguir iniciar e interromper a coleta de dados. Especifica cada opção em uma linha de comando separada. Você pode ativar a coleta de dados de logon e logoff várias vezes.
Opção
Descrição
Inicia (/globalon) ou pára (/globaloff) a coleta de dados para todos os processos.
/PROCESSON:PID /processoff:PID
Inicia (/processon) ou pára (/processoff) para o processo de coleta de dados que a identificação do processo (PID) especifica.
/attachInicia a coletar dados para o processo que a identificação do processo (PID) ou o nome do processo (ProcName) especifica. /detachpára a coleta de dados para o processo especificado ou para todos os processos se nenhum processo for especificado.
Você também pode usar o VSPerfCmd.exe dd255359(v=vs.100).mdmarca/ a opção para inserir uma marca de criação de perfil para o arquivo de dados. O /mark comando adiciona um identificador, um carimbo de hora e uma seqüência de caracteres de um texto opcional definido pelo usuário. Marcas podem ser usadas para filtrar os dados em relatórios do profiler e exibições de dados.
Encerrando a sessão de criação de perfil
Para finalizar uma sessão de criação de perfil, o profiler deve não ser coletando dados. Você pode interromper a coleta de dados em um serviço nativo que está sendo perfilado com o método de simultaneidade, interrompendo o serviço ou chamando o VSPerfCmd /detach opção. Você então chama o VSPerfCmd /shutdown opção para desativar o profiler e feche o arquivo de dados criação de perfil.
Para finalizar uma sessão de criação de perfil
Desanexe o criador de perfil do aplicativo de destino, interrompendo o serviço ou digitando o seguinte comando em um prompt de comando:
TipoVSPerfCmd /detach
Desligar o profiler digitando o seguinte comando em um prompt de comando:
VSPerfCmd /Shutdown