DebuggableAttribute.DebuggingModes Enumeráció

Definíció

Az igény szerinti (JIT) fordító hibakeresési módját adja meg.

Ez a felsorolás támogatja a tagértékek bitenkénti kombinációját.

public: enum class DebuggableAttribute::DebuggingModes
[System.Flags]
public enum DebuggableAttribute.DebuggingModes
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
public enum DebuggableAttribute.DebuggingModes
[<System.Flags>]
type DebuggableAttribute.DebuggingModes = 
[<System.Flags>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type DebuggableAttribute.DebuggingModes = 
Public Enum DebuggableAttribute.DebuggingModes
Öröklődés
DebuggableAttribute.DebuggingModes
Attribútumok

Mezők

Name Érték Description
None 0

A .NET Framework 2.0-s verziójától kezdve a JIT nyomkövetési információi mindig létrejönnek, és ez a jelző ugyanolyan hatással van, mint Default, azzal a kivétellel, hogy a IsJITTrackingEnabled tulajdonságot false értékre állítja. Mivel azonban a JIT-nyomkövetés mindig engedélyezve van, a tulajdonság értékét a rendszer figyelmen kívül hagyja a 2.0-s vagy újabb verzióban.

Vegye figyelembe, hogy a DisableOptimizations jelölővel ellentétben a jelölő nem használható a None JIT-optimalizálások letiltására.

Default 1

Utasítja a just-in-time (JIT) fordítót, hogy használja az alapértelmezett viselkedését, amely magában foglalja az optimalizálás engedélyezését, a szerkesztés és a folytatás támogatásának letiltását, valamint a szimbólumtárolók szekvenciapontjainak használatát, ha vannak ilyenek. A .NET Framework 2.0-s verziójától kezdve a JIT nyomkövetési információi, a metóduson belüli natív kódeltoláshoz Microsoft köztes nyelv (MSIL) eltolása mindig létrejön.

IgnoreSymbolStoreSequencePoints 2

A programadatbázis (PDB) szekvenciapontjai nem az implicit MSIL-szekvenciapontokat használják. A szimbolikus információk általában minden forrássorhoz legalább egy Microsoft köztes nyelv (MSIL) eltolását tartalmazzák. Ha a just-in-time (JIT) fordító egy metódus fordítására készül, a profilkészítési szolgáltatásoktól kéri a megőrizendő MSIL-eltolások listáját. Ezeket az MSIL-eltolásokat szekvenciapontoknak nevezzük.

EnableEditAndContinue 4

A szerkesztés és a folytatás engedélyezése. A szerkesztéssel és a folytatással módosíthatja a forráskódot, amíg a program szünet módban van. A szerkesztés és a folytatás lehetősége a fordítótól függ.

DisableOptimizations 256

Tiltsa le a fordító által végzett optimalizálást, hogy a kimeneti fájl kisebb, gyorsabb és hatékonyabb legyen. Az optimalizálás a kimeneti fájlban kód átrendeződést eredményez, ami megnehezítheti a hibakeresést. Az optimalizálást általában le kell tiltani a hibakeresés során. A 2.0-s vagy újabb verziókban kombinálja ezt az értéket az Alapértelmezett (Alapértelmezett | DisableOptimizations) a JIT-nyomkövetés engedélyezéséhez és az optimalizálás letiltásához.

Megjegyzések

Az DebuggableAttribute.DebuggingModes enumerálás azt határozza meg, hogy a futtatókörnyezet hogyan követi nyomon a hibakereső számára fontos információkat a kódgenerálás során. Ezek az információk segítenek a hibakeresőnek gazdag hibakeresési élményt nyújtani. Az .NET Framework 1.1-es verziójával ellentétben a 2.0-s vagy újabb verziók nem teszik lehetővé a nyomon követés kikapcsolását az igény szerinti (JIT) fordítóval. A JIT-nyomkövetés mindig engedélyezve van a hibakeresési fájlokhoz. A 2.0-s és újabb verziókban az enumerálási értékek a következő hatással vannak.

Hibakeresési mód Result
None Nyomon követés, JIT-optimalizálások engedélyezve
Alapértelmezett Nyomon követés, JIT-optimalizálások engedélyezve
DisableOptimizations Nyomon követés, JIT-optimalizálások engedélyezve
Alapértelmezett | DisableOptimizations Nyomon követés bekapcsolva, a JIT-optimalizálás le van tiltva

A szekvenciapontok a Microsoft köztes nyelv (MSIL) kód azon helyeinek jelzésére szolgálnak, amelyekre a hibakereső felhasználó várhatóan egyedi módon hivatkozhat, például töréspont beállítására. A JIT fordító biztosítja, hogy ne fordítsa le az MSIL-t két különböző szekvenciaponton egyetlen natív utasításba. Alapértelmezés szerint a JIT-fordító megvizsgálja a programadatbázis (PDB) fájljában található szimbólumtárolót a további szekvenciapontok listájához. A PDB-fájl betöltéséhez azonban elérhetővé kell tenni a fájlt, és negatív hatással van a teljesítményre. A 2.0-s verziótól kezdve a fordítók "implicit szekvenciapontokat" bocsáthatnak ki az MSIL-kódstreamben az MSIL "nop" utasítások használatával. Az ilyen fordítóknak úgy kell beállítaniuk a IgnoreSymbolStoreSequencePoints jelzőt, hogy a közös nyelvi futtatókörnyezet ne töltse be a PDB-fájlt.

Note

Ezt az enumerálást elsősorban a nyelvfejlesztők használják. Általában nem használják alkalmazásfejlesztéshez. A fejlesztői környezetek fordítóparaméterek, például DebuggableAttribute.DebuggingModes és /optimize alapján használhatók.

A következőre érvényes: