Peverify.exe (nástroj PEVerify)

Nástroj PEVerify pomáhá vývojářům, kteří generují jazyk MSIL (Microsoft Intermediate Language) (například zapisovače kompilátoru a vývojáře skriptů), určit, jestli jejich kód MSIL a přidružená metadata splňují požadavky na bezpečnost typů. Některé kompilátory generují kód ověřitelně bezpečného typu pouze tehdy, když se vyhnete určitým jazykovým konstrukcím. Pokud používáte takový kompilátor, možná budete chtít ověřit, že jste neohrozili bezpečnost typu kódu. Nástroj PEVerify můžete na svých souborech spustit a zkontrolovat jazyk MSIL a metadata.

Tento nástroj je automaticky nainstalován se sadou Visual Studio. Ke spuštění nástroje použijte Visual Studio Developer Command Prompt nebo Visual Studio Developer PowerShell.

Syntaxe

peverify filename [options]

Parametry

Argument Popis
filename Přenosný spustitelný soubor (PE), pro který chcete zkontrolovat jazyk MSIL a metadata.
Možnost Popis
/break=maxErrorCount Přeruší ověření po chybách maxErrorCount .

Tento parametr není podporován v rozhraní .NET Framework verze 2.0 a vyšší.
/Hodiny Změří a oznámí následující časy ověření v milisekundách:

MD Val. cycle
Cyklus ověření metadat

MD Val. Čisté
Čisté ověření metadat

IL Ver. cycle
Cyklus ověřování Microsoft Intermediate Language (MSIL)

IL Ver pure
Čisté ověřování MSIL

Doba cyklu MD Val. a IL Ver. zahrnují čas potřebný k provedení nezbytných postupů spuštění a vypnutí. Hodnota MD Val. pure a IL Ver čisté časy odrážejí čas potřebný k provedení ověření nebo ověření pouze.
/Pomoc Zobrazí syntaxi příkazu a možnosti nástroje.
/Hresult Zobrazí kódy chyb v šestnáctkovém formátu.
/ignore=hex.code [, hex.code] Ignoruje zadané kódy chyb.
/ignore=@responseFile Ignoruje kódy chyb uvedené v zadaném souboru odpovědí.
/Il Provádí kontroly zabezpečení typu MSIL pro metody implementované v sestavení určeném názvem souboru. Nástroj vrátí podrobné popisy jednotlivých nalezených problémů, pokud nezadáte možnost /quiet .
/Md Provádí kontroly ověření metadat v sestavení určeném názvem souboru. Tato možnost provede úplnou strukturu metadat v souboru a hlásí všechny zjištěné problémy s ověřením.
/nologo Potlačí zobrazení informací o verzi a autorských právech produktu.
/nosymbols V rozhraní .NET Framework verze 2.0 potlačí čísla řádků kvůli zpětné kompatibilitě.
/quiet Nastaví tichý režim; potlačí výstup hlášení problémů ověření. Nástroj Peverify.exe stále hlásí, zda je soubor typově bezpečný, ale již nehlásí informace o problémech, které brání v ověření bezpečnosti typu.
/transparent Ověří pouze transparentní metody.
/Jedinečný Ignoruje opakující se kódy chyb.
/verbose V rozhraní .NET Framework verze 2.0 se zobrazí další informace v ověřovacích zprávách jazyka MSIL.
/? Zobrazí syntaxi příkazu a možnosti nástroje.

Poznámky

Modul Common Language Runtime se opírá o typově bezpečné spuštění kódu aplikace k podpoře vynucení bezpečnostních a izolačních mechanismů. Kód, který není ověřitelně typ bezpečný , nelze spustit, ačkoli můžete nastavit zásady zabezpečení tak, aby umožňovaly spuštění důvěryhodného, ale neověřitelného kódu.

Pokud nejsou zadány možnosti /md ani /il, Peverify.exe provede oba typy kontrol. Peverify.exe nejprve provede kontroly /md . Pokud nedojde k žádným chybám, provede se kontrola /il . Pokud zadáte parametr /md i /il, provede se kontrola /il i v případě, že metadata obsahuje chyby. Pokud tedy neexistují žádné chyby metadat, je název souboru peverify ekvivalentní souboru peverifynázev_souboru/md/il.

Nástroj Peverify.exe provádí komplexní kontroly MSIL u platných metadat na základě analýzy datového toku a seznamu několika stovek pravidel. Podrobné informace o kontrolách, Peverify.exe provést, naleznete v části Specifikace ověření metadat a MSIL Instrukční sada specifikace ve složce Tools Developers Guide v sadě Windows SDK.

Rozhraní .NET Framework verze 2.0 nebo novější podporuje ověřitelné byref návraty zadané pomocí následujících pokynů jazyka MSIL: dup, , ldsfldaldflda, ldelema, calla unbox.

Příklady

Následující příkaz provádí kontroly ověření metadat a kontroly ověřování typu MSIL pro metody implementované v sestavení myAssembly.exe.

peverify myAssembly.exe /md /il

Po úspěšném dokončení výše uvedeného požadavku nástroj Peverify.exe zobrazí následující zprávu.

All classes and methods in myAssembly.exe Verified

Následující příkaz provádí kontroly ověření metadat a kontroly ověřování typu MSIL pro metody implementované v sestavení myAssembly.exe. Nástroj zobrazí čas potřebný k provedení těchto kontrol.

peverify myAssembly.exe /md /il /clock

Po úspěšném dokončení výše uvedeného požadavku nástroj Peverify.exe zobrazí následující zprávu.

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

Následující příkaz provádí kontroly ověření metadat a kontroly ověřování typu MSIL pro metody implementované v sestavení myAssembly.exe. Nástroj Peverify.exe se však zastaví, jakmile dosáhne maximálního počtu 100 chyb. Tento nástroj rovněž ignoruje zadané kódy chyb.

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

Následující příkaz vytvoří stejný výsledek jako předchozí příklad, ale určuje kódy chyb, které se mají v souboru ignoreErrors.rspodpovědi ignorovat .

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

Soubor odpovědí může obsahovat seznam kódů chyb oddělených čárkami.

0x12345678, 0xABCD1234

Soubor odpovědí lze také naformátovat s jedním kódem chyby na řádek.

0x12345678
0xABCD1234

Viz také