Share via


Peverify.exe (PEVerify-hulpprogramma)

Het HULPPROGRAMMA PEVerify helpt ontwikkelaars die microsoft tussenliggende taal (MSIL) genereren (zoals compilerschrijvers en scriptengineontwikkelaars) om te bepalen of hun MSIL-code en bijbehorende metagegevens voldoen aan de veiligheidsvereisten van het type. Sommige compilers genereren alleen typeveilige code als u bepaalde taalconstructies vermijdt. Als u een dergelijke compiler gebruikt, kunt u controleren of u geen inbreuk hebt gemaakt op het type veiligheid van uw code. U kunt het PEVerify-hulpprogramma uitvoeren op uw bestanden om de MSIL en metagegevens te controleren.

Dit hulpprogramma wordt automatisch geïnstalleerd met Visual Studio. Als u het hulpprogramma wilt uitvoeren, gebruikt u de Visual Studio Developer-opdrachtprompt of Visual Studio Developer PowerShell.

Syntaxis

peverify filename [options]

Parameters

Argument Beschrijving
filename Het draagbare uitvoerbare bestand (PE) waarvoor de MSIL en metagegevens moeten worden gecontroleerd.
Optie Omschrijving
/break= maxErrorCount Hiermee wordt verificatie afgebroken na maxErrorCount-fouten .

Deze parameter wordt niet ondersteund in .NET Framework versie 2.0 of hoger.
/klok Meet en rapporteert de volgende verificatietijden in milliseconden:

MD Val. cycle
Validatiecyclus voor metagegevens

MD Val. zuiver
Validatie van metagegevens puur

IL Ver. cycle
Verificatiecyclus van Microsoft tussenliggende taal (MSIL)

IL Ver pure
MSIL-verificatie puur

De MD Val. cyclus en IL Ver. cyclustijden omvatten de tijd die nodig is om de benodigde opstart- en afsluitprocedures uit te voeren. De MD Val. pure en IL Ver pure tijden weerspiegelen de tijd die nodig is om de validatie of verificatie alleen uit te voeren.
/Help Geeft de opdrachtsyntaxis en opties voor het hulpprogramma weer.
/hresult Geeft foutcodes weer in hexadecimale notatie.
/ignore= hex.code [, hex.code] Negeert de opgegeven foutcodes.
/ignore=@ responseFile Negeert de foutcodes die worden vermeld in het opgegeven antwoordbestand.
/Il Voert veiligheidscontroles van het MSIL-type uit op methoden die zijn geïmplementeerd in de assembly die is opgegeven door bestandsnaam. Het hulpprogramma retourneert gedetailleerde beschrijvingen voor elk gevonden probleem, tenzij u de optie /quiet opgeeft.
/Md Hiermee worden validatiecontroles voor metagegevens uitgevoerd op de assembly die is opgegeven door de bestandsnaam. Met deze optie wordt de volledige metagegevensstructuur in het bestand beschreven en worden alle validatieproblemen gerapporteerd.
/nologo Onderdrukt de weergave van productversie en copyrightinformatie.
/nosymbolen In .NET Framework versie 2.0 onderdrukt u regelnummers voor compatibiliteit met eerdere versies.
/rustig Hiermee geeft u de stille modus; onderdrukt de uitvoer van de verificatieprobleemrapporten. Peverify.exe rapporteert nog steeds of het bestand veilig is, maar rapporteert geen informatie over problemen die de veiligheid van het type verhinderen.
/transparent Controleer alleen de transparante methoden.
/uniek Hiermee worden herhalende foutcodes genegeerd.
/breedsprakig In .NET Framework versie 2.0 geeft u aanvullende informatie weer in MSIL-verificatieberichten.
/? Geeft de opdrachtsyntaxis en opties voor het hulpprogramma weer.

Opmerkingen

De algemene taalruntime is afhankelijk van de typeveilige uitvoering van toepassingscode om beveiligings- en isolatiemechanismen af te dwingen. Normaal gesproken kan code die niet verifieerbaar type veilig is niet worden uitgevoerd, hoewel u beveiligingsbeleid kunt instellen om de uitvoering van vertrouwde maar niet-verifieerbare code toe te staan.

Als de opties /md of /il niet zijn opgegeven, Peverify.exe beide typen controles uitvoert. Peverify.exe voert eerst /md-controles uit. Als er geen fouten zijn, worden /il controles uitgevoerd. Als u zowel /md als /il opgeeft, worden /il-controles uitgevoerd, zelfs als er fouten zijn in de metagegevens. Als er dus geen metagegevensfouten zijn, is peverify-bestandsnaam gelijk aan peverify bestandsnaam /md /il.

Peverify.exe voert uitgebreide MSIL-verificatiecontroles uit op basis van gegevensstroomanalyse plus een lijst met enkele honderden regels voor geldige metagegevens. Voor gedetailleerde informatie over de controles die Peverify.exe uitvoert, raadpleegt u de 'Specificatie voor validatie van metagegevens' en de 'MSIL-instructiesetspecificatie' in de map Hulpprogramma's ontwikkelaarshandleiding in de Windows SDK.

.NET Framework versie 2.0 of hoger ondersteunt verifieerbare byref retourneert die zijn opgegeven met behulp van de volgende MSIL-instructies: dup, ldsflda, ldflda, ldelema, , en callunbox.

Voorbeelden

Met de volgende opdracht worden validatiecontroles voor metagegevens uitgevoerd en veiligheidscontroles van het MSIL-type voor methoden die in de assembly myAssembly.exezijn geïmplementeerd.

peverify myAssembly.exe /md /il

Wanneer de bovenstaande aanvraag is voltooid, wordt het volgende bericht weergegeven Peverify.exe.

All classes and methods in myAssembly.exe Verified

Met de volgende opdracht worden validatiecontroles voor metagegevens uitgevoerd en veiligheidscontroles van het MSIL-type voor methoden die in de assembly myAssembly.exezijn geïmplementeerd. Het hulpprogramma geeft de tijd weer die nodig is om deze controles uit te voeren.

peverify myAssembly.exe /md /il /clock

Wanneer de bovenstaande aanvraag is voltooid, wordt het volgende bericht weergegeven Peverify.exe.

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

Met de volgende opdracht worden validatiecontroles voor metagegevens uitgevoerd en veiligheidscontroles van het MSIL-type voor methoden die in de assembly myAssembly.exezijn geïmplementeerd. Peverify.exe stopt echter wanneer het maximumaantal fouten van 100 wordt bereikt. Het hulpprogramma negeert ook de opgegeven foutcodes.

peverify myAssembly.exe /break=100 /ignore=0x12345678,0xABCD1234

De volgende opdracht produceert hetzelfde resultaat als in het bovenstaande voorbeeld, maar geeft de foutcodes op die moeten worden genegeerd in het antwoordbestand ignoreErrors.rsp.

peverify myAssembly.exe /break=100 /ignore@ignoreErrors.rsp

Het antwoordbestand kan een door komma's gescheiden lijst met foutcodes bevatten.

0x12345678, 0xABCD1234

U kunt het antwoordbestand ook opmaken met één foutcode per regel.

0x12345678
0xABCD1234

Zie ook