Ferramenta de PEVerify (peverify.exe)
A ferramenta de PEVerify ajuda sistema autônomo desenvolvedores que gerar Microsoft intermediário linguagem (MSIL) (sistema autônomo sistema autônomo criadores de compilador, sistema autônomo desenvolvedores do mecanismo de script e assim por diante) para determinar se seu código MSIL e metadados associados atendem digite requisitos de segurança. Alguns compiladores geram verificável fortemente tipado construções de código somente se você evitar o uso de determinado linguagem. Se, sistema autônomo desenvolvedor, você estiver usando um compilador tal, convém verificar que você não tiver comprometidos a segurança de tipos do seu código. Nessa situação, você pode executar a ferramenta de PEVerify em seus arquivos para verificar o MSIL e metadados.
peverify filename [options]
Parâmetros
Argumento |
Descrição |
---|---|
nome do arquivo |
O arquivo executável portátil (PE) para o qual você deseja verificar o MSIL e metadados. |
Opção |
Descrição |
---|---|
/ Quebrar =maxErrorCount |
Anula a verificação após maxErrorCount erros. Não há suporte para esse parâmetro no .NET estrutura versão 2.0 ou posterior. |
/clock |
Mede e relata os horários de verificação seguintes em milissegundos:
The MD Val. ciclo and Ciclo de versão de IL. vezes incluem o time necessário para executar os procedimentos necessários de inicialização e desligado. The MD Val. puro and Versão de IL pura horários refletem o time necessário para executar a validação ou verificação somente. |
/help |
Exibe sintaxe de comando e opções para a ferramenta. |
/HRESULT |
Exibe códigos de erro no formato hexadecimal. |
/ Ignorar =hex.code , Hex.Code |
Ignora os códigos de erro especificado. |
/ Ignorar = @responseFile |
Ignora os códigos de erro listados no arquivo de resposta especificado. |
/IL |
Executa verificações de verificação de segurança de tipos MSIL para métodos implementados no conjunto de módulos (assembly) especificado por nome de arquivo. A ferramenta retorna descrições detalhadas para cada problema encontrado, a menos que você especifique o /quiet opção. |
/MD |
Executa verificações de validação de metadados no assembly especificado por nome de arquivo. Isso conduz a estrutura de metadados total dentro do arquivo e reporta todos os problemas de validação encontrados. |
/nologo |
Suprime a exibição de informações de versão e direitos autorais sobre produtos. |
/nosymbols |
No .NET estrutura versão 2.0, suprime os números de linha para compatibilidade com versões anteriores. |
/quiet |
Especifica o modo silencioso; suprime a saída dos relatórios de problema de verificação. Peverify.exe ainda relata se o arquivo é do tipo seguro, mas não relata informações sobre o problema impedindo a verificação de segurança de tipos. |
/unique |
Ignora os códigos de erro de repetição. |
/verbose |
No .NET estrutura versão 2.0, exibe informações adicionais nas mensagens de verificação da MSIL. |
/? |
Exibe sintaxe de comando e opções para a ferramenta. |
Comentários
O common linguagem tempo de execução depende da execução de segurança de tipos de código do aplicativo para ajudar a impor mecanismos de segurança e isolamento. Normalmente, o código que não seja tipo verificável seguro não pode ser executado, embora você possa conjunto diretiva de segurança para permitir a execução de código confiável, mas não verificado.
Se nem o /MD nor /IL opções forem especificadas, peverify.exe realiza os dois tipos de verificações. Peverify.exe executa /MD verifica primeiro. Se não houver nenhum erro, de /IL verificações são feitas. Se você especificar os dois /MD and /IL, /IL verificações são feitas, mesmo se houver erros nos metadados. Thus, if there are no metadata errors, peverify filename is equivalent to peverify filename /md /il.
Peverify.exe executa verificações de verificação MSIL abrangentes com base na análise de fluxo de dados, além de uma lista de várias centenas regras de metadados válido. Para obter informações detalhadas sobre as verificações peverify.exe executa, consulte especificação"validação de metadados" e "MSIL instrução conjunto especificação da" na pasta Ferramentas Developers guia naWindows Software Development Kit (SDK).
Observe que o .NET estrutura versão 2.0 ou posterior oferece suporte verificável byref Retorna especificado usando as seguintes instruções MSIL: dup, ldsflda, ldflda, ldelema, call e unbox.
Exemplos
O seguinte comando executa verificações de validação de metadados e verificações de verificação de segurança de tipos MSIL para métodos implementados no assembly myAssembly.exe.
peverify myAssembly.exe /md /il
Após a conclusão com êxito de solicitação acima, peverify.exe exibirá a mensagem a seguir.
All classes and methods in myAssembly.exe Verified
O seguinte comando executa verificações de validação de metadados e verificações de verificação de segurança de tipos MSIL para métodos implementados no assembly myAssembly.exe. A ferramenta exibe o time necessário para executar essas verificações.
peverify myAssembly.exe /md /il /clock
Após a conclusão com êxito de solicitação acima, peverify.exe exibirá a mensagem a seguir.
All classes and methods in myAssembly.exe Verified
Timing: Total run 320 msec
MD Val.cycle 40 msec
MD Val.pure 10 msec
IL Ver.cycle 270 msec
IL Ver.pure 230 msec
O seguinte comando executa verificações de validação de metadados e verificações de verificação de segurança de tipos MSIL para métodos implementados no assembly myAssembly.exe. No entanto, pára peverify.exe quando ela atinge a contagem de erro máximo de 100. A ferramenta também ignora os códigos de erro especificado.
peverify myAssembly.exe /break=100 /ignore=0x12345678,0xABCD1234
O comando a seguir produz o mesmo resultado do exemplo anterior acima, mas Especifica sistema autônomo códigos de erro para ignorar no arquivo de resposta ignoreErrors.rsp.
peverify myAssembly.exe /break=100 /ignore@ignoreErrors.rsp
O arquivo de resposta pode conter uma lista separada por vírgulas dos códigos de erro.
0x12345678, 0xABCD1234
Como alternativa, o arquivo de resposta pode ser formatado com o código de um erro por linha.
0x12345678
0xABCD1234
Consulte também
Conceitos
Escrever Verifiably código de segurança de tipo