Compartilhar via


Peverify (ferramenta PEVerify)

A ferramenta PEVerify ajuda os desenvolvedores que geram Microsoft intermediate language (MSIL) (como os criadores do compilador, os desenvolvedores do mecanismo de script e assim por diante) para determinar se o seu código MSIL e metadados associados atender tipo requisitos de segurança. Alguns compiladores geram código verificável com segurança de tipo somente se você evitar usar determinadas construções de linguagem. Se, como um desenvolvedor, você está usando como um compilador, convém verificar que não comprometidos a segurança de tipos do seu código. Nessa situação, você pode executar a ferramenta PEVerify em seus arquivos para verificar a MSIL e metadados.

A ferramenta PEVerify é instalada automaticamente com o Visual Studio. Para iniciar a ferramenta, use o Prompt de comando Visual Studio. No prompt de comando, digite o seguinte:

peverify filename [options]

Parâmetros

Argumento

Descrição

nome do arquivo

O arquivo executável portátil (PE) para o qual deseja verificar a MSIL e metadados.

Opção

Descrição

/ Quebrar =maxErrorCount

Anula verificação após maxErrorCount erros.

Este parâmetro não é suportado no.NET Framework versão 2.0 ou posterior.

/clock

Mede e relata os seguintes horários de verificação em milissegundos:

MD Val. ciclo

Ciclo de validação de metadados

MD Val. puro

Validação de metadados pura

IL ver. ciclo

Ciclo de verificação do Microsoft intermediate language (MSIL)

Ver de IL pura

Verificação de MSIL pura

O MD Val. ciclo de e Ver de IL. ciclo de vezes incluem o tempo necessário para executar os procedimentos de inicialização e desligamento necessários. O MD Val. puro e Ver de IL pura vezes refletem o tempo necessário para executar a validação ou verificação somente.

/help

Exibe sintaxe de comando e opções para a ferramenta.

/HRESULT

Exibe os 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 tipo MSIL para métodos implementados no assembly especificado por nome de arquivo. A ferramenta retorna as 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 relatórios de todos os problemas de validação encontrados.

/nologo

Suprime a exibição de informações de versão e copyright do produto.

/nosymbols

No.NET Framework versão 2.0, suprime números de linha para compatibilidade com versões anteriores.

/quiet

Especifica o modo silencioso; Suprime a saída de relatórios de problemas de verificação. Ainda, peverify relata se o arquivo é de tipo seguro, mas não relata informações sobre o problema impedindo a verificação de segurança de tipo.

/transparent

Verifique se apenas os métodos transparentes.

/unique

Ignora os códigos de erro de repetição.

/verbose

No.NET Framework versão 2.0, exibe informações adicionais nas mensagens de verificação de MSIL.

/?

Exibe sintaxe de comando e opções para a ferramenta.

Comentários

O common language runtime depende da execução de segurança de tipos de código do aplicativo para ajudar a reforçar os mecanismos de segurança e isolamento. Normalmente, o código que não é tipo verificável seguro não pode ser executado, embora você possa definir a diretiva de segurança para permitir a execução de código confiável, mas não verificável.

Se nem o /md nem /il opções forem especificadas, peverify executa ambos os tipos de verificações. Peverify executa /md verifica primeiro. Se não houver nenhum erro, /il as verificações são feitas. Se você especificar ambos /md e /il, /il as verificações são feitas, mesmo se houver erros nos metadados. Assim, se não houver nenhum erro de metadados, peverify nome de arquivo é equivalente a peverify nome de arquivo /md /il.

Peverify executa verificações de verificação de MSIL abrangentes com base na análise de fluxo de dados além de uma lista de várias centenas de regras em metadados válidos. Para obter informações detalhadas sobre as verificações que peverify executa, consulte o "especificação de validação de metadados" e o "instrução MSIL especificação" na pasta Ferramentas Developers Guide do Windows Software Development Kit (SDK).

Observe que o.NET Framework versão 2.0 ou posterior suporta verificável byref retorna especificada usando as seguintes instruções MSIL: dup, ldsflda, ldflda, ldelema, call and unbox.

Exemplos

O seguinte comando executa verificações de validação de metadados e verificações de verificação de segurança de tipo MSIL para métodos implementados no assembly myAssembly.exe.

peverify myAssembly.exe /md /il

Após a conclusão bem-sucedida da solicitação acima, peverify exibe a seguinte mensagem de erro.

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 tipo MSIL para métodos implementados no assembly myAssembly.exe. A ferramenta exibe o tempo necessário para executar essas verificações.

peverify myAssembly.exe /md /il /clock

Após a conclusão bem-sucedida da solicitação acima, peverify exibe a seguinte mensagem de erro.

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 tipo MSIL para métodos implementados no assembly myAssembly.exe. Peverify interrompida, entretanto, quando ele 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 os códigos de erro para ignorar o 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 erro de um por linha.

0x12345678
0xABCD1234

Consulte também

Referência

Prompt de comando Visual Studio

Conceitos

Escrevendo verificável com código de tipo seguro

Segurança Tipo e segurança

Outros recursos

Ferramentas.NET Framework