VSInstr
A ferramenta de VSInstr é usada para prover binários.É invocada usando a seguinte sintaxe:
VSInstr [/U] filename [/options]
A tabela a seguir descreve as opções da ferramenta de VSInstr:
Opções |
Descrição |
---|---|
Help ou ? |
Ajuda vídeos. |
U |
Grava a saída redirecionada de console como Unicode.Deve ser a primeira opção especificada. |
@filename |
Especifica o nome de um arquivo de resposta que contém uma opção de comando por linha. Não use aspas. |
OutputPath:path |
Especifica um diretório de destino para a imagem instrumentada.Se um caminho de saída não for especificado, o binário original é renomeado com “Orig” ao nome de arquivo no mesmo diretório, e uma cópia binária é instrumentada. |
Exclude:funcspec |
Especifica uma especificação da função para excluir a instrumentação por investigações.É útil ao analisar a inserção de investigação em uma função causa resultados imprevisíveis ou indesejados. Não use Exclude e as opções de Include que fazem referência a funções no mesmo binário. Você pode especificar várias especificação da função com opções separadas de Exclude . funcspec é definido como: namespaceseparator1<>[] [] classseparator2<>função <separator1> é :: para o código nativo, e . para código gerenciado. <separator2> é sempre :: Exclude tem suporte com cobertura de código. O caractere curinga * tem suporte.Por exemplo, para excluir todas as funções em um uso de namespace: MyNamespace::* Você pode usar VSInstr /DumpFuncs para listar os nomes completos das funções em binário especificado. |
Include:funcspec |
Especifica uma especificação da função em um binário para prover com investigações.Todas as outras funções nos binários não são providas. Você pode especificar várias especificações da função com opções separadas de Include . Não use Include e as opções de Exclude que fazem referência a funções no mesmo binário. Include não tem suporte com cobertura de código. funcspec é definido como: namespaceseparator1<>[] [] classseparator2<>função <separator1> é :: para o código nativo, e . para código gerenciado. <separator2> é sempre :: O caractere curinga * tem suporte.Por exemplo, para incluir todas as funções em um uso de namespace: MyNamespace::* Você pode usar VSInstr /DumpFuncs para listar os nomes completos das funções em binário especificado. |
DumpFuncs |
Lista as funções na imagem especificada.Nenhuma WMI é executada. |
ExcludeSmallFuncs |
Exclui as funções pequenas, que são funções curtas que não faz nenhuma chamadas de função, a instrumentação.A opção de ExcludeSmallFuncs fornece para menos sobrecarga de instrumentação uma velocidade e aprimorada da instrumentação. A exclusão de funções pequenas também reduz o tamanho do arquivo e a hora de .vsp necessários para análise. |
Mark:{Before|After|Top|Bottom},funcname,markid |
Insere uma marca de perfil (um identificador usado para limitar os dados em relatórios) que você pode usar para identificar o início ou término de um intervalo de dados no arquivo de relatório de .vsp. Before- imediatamente antes da entrada da função de destino. After- imediatamente depois que a saída da função de destino. Top- imediatamente após a entrada da função de destino. Bottom- imediatamente antes de cada retorno da função de destino. funcname - nome da função de destino Markid - um inteiro positivo (longo) a ser usada como o identificador da marca do perfil. |
Coverage |
Executa a instrumentação de cobertura.Pode ser ele pode ser usado apenas com as seguintes opções: Detalhado, OutputPath, Exclua, e. Arquivo histórico. |
Verbose |
A opção de Verboseé usada exibir informações detalhadas sobre o processo de instrumentação. |
NoWarn[:[Message Number[;Message Number]]] |
Suprime todas ou avisos específicos. Message Number - o número de aviso.Se Message Number for omitido, todos os avisos serão suprimidos. Para obter mais informações, consulte Avisos de VSInstr. |
Control:{Thread|Process|Global} |
Especifica o nível de perfil das seguintes opções de controle de coleta de dados de VSInstr: Start StartOnly Suspend StopOnly SuspendOnly ResumeOnly Thread- especifica funções de controle de coleta de dados de threads nível.Analisar é iniciado ou interrompido somente do thread atual.Analisando o estado dos outros threads não é afetado.A opção é thread. Process- especifica funções de controle de coleta de dados de perfil de nível de processo.Analisando inicia ou interrompe para todos os threads no processo atual.Analisando o estado de outros processos não é afetado. Global- especifica funções de controle de coleta de dados de global- nível de processo (). Ocorrerá um erro se você não especificar o nível de perfil. |
Start:{Inside|Outside},funcname |
A coleta de dados dos limites para a função e o filho de destino funções chamado por essa função. Inside- insere a função de StartProfile imediatamente depois da entrada à função de destino.Insere a função de StopProfile imediatamente antes de cada retorno da função de destino. Outside- insere a função de StartProfile imediatamente antes de cada chamada à função de destino.Insere a função de StopProfile imediatamente depois de cada chamada à função de destino. funcname - o nome da função de destino. |
Suspend:{Inside|Outside},funcname |
Exclui a coleta de dados para a função de destino e o filho funções chamado pela função. Inside- insere a função de SuspendProfile imediatamente depois da entrada à função de destino.Insere a função de ResumeProfile imediatamente antes de cada retorno da função de destino. Outside- insere a função de SuspendProfile imediatamente antes da entrada à função de destino.Insere a função de ResumeProfile imediatamente depois que a saída da função de destino. funcname - nome da função de destino. Se a função de destino contém uma função de StartProfile, a função de SuspendProfile é inserida antes deles.Se a função de destino contém uma função de StopProfile, a função de ResumeProfile será inserida depois delas. |
StartOnly:{Before|After|Top|Bottom},funcname |
Inicia a coleta de dados durante analisar executado.Insere a função de API de StartProfile no local especificado. Before- imediatamente antes da entrada da função de destino. After- imediatamente depois que a saída da função de destino. Top- imediatamente após a entrada da função de destino. Bottom- imediatamente antes de cada retorno da função de destino. funcname - nome da função de destino. |
StopOnly:{Before|After|Top|Bottom},funcname |
É interrompida a coleta de dados durante analisar executado.Insere a função de StopProfile no local especificado. Before- imediatamente antes da entrada da função de destino. After- imediatamente depois que a saída da função de destino. Top- imediatamente após a entrada da função de destino. Bottom- imediatamente antes de cada retorno da função de destino. funcname - nome da função de destino. |
SuspendOnly:{Before|After|Top|Bottom},funcname |
É interrompida a coleta de dados durante analisar executado.Insere o SuspendProfile API no local especificado. Before- imediatamente antes da entrada da função de destino. After- imediatamente depois que a saída da função de destino. Top- imediatamente após a entrada da função de destino. Bottom- imediatamente antes de cada retorno da função de destino. funcname - nome da função de destino. Se a função de destino contém uma função de StartProfile, a função de SuspendProfile é inserida antes deles. |
ResumeOnly:{Before|After|Top|Bottom},funcname |
Inicia ou continua a coleta de dados durante analisar executado. É usada geralmente para iniciar a análise depois que um padrão de SuspendOnly parou analisar.Insere um ResumeProfile API no local especificado. Before- imediatamente antes da entrada da função de destino. After- imediatamente depois que a saída da função de destino. Top- imediatamente após a entrada da função de destino. Bottom- imediatamente antes de cada retorno da função de destino. funcname - nome da função de destino. Se a função de destino contém uma função de StopProfile, a função de ResumeProfile será inserida depois delas. |