Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A natív hibakereső objektumok a hibakereső környezet különböző szerkezeteit jelölik. A JavaScript-bővítmények közvetlen hozzáféréssel rendelkeznek az alapul szolgáló nyelv típusrendszeréhez. Ezt a hozzáférést a típusobjektumok fogalma fejezi ki. Ez a témakör a típusobjektumokhoz társított tulajdonságokat ismerteti.
A natív hibakereső objektumok a hibakereső környezet különböző szerkezeteit és viselkedését jelölik. Az objektumok átadhatók (vagy beszerezhetők) JavaScript-bővítményekbe a hibakereső állapotának módosításához.
A Hibakereső objektum JavaScript-bővítményeiről további információt a JavaScript-bővítmények natív hibakereső objektumai című témakörben talál.
A JavaScript használatával kapcsolatos általános információkért tekintse meg a JavaScript Hibakereső szkriptkészítés című témakört.
Típus objektumok
A típusobjektumok többféleképpen is beszerezhetők:
- Objektumból: Ha egy szkript rendelkezik natív objektummal a JavaScripten belül, a targetType tulajdonság elérhető az objektumon a natív objektum statikus típusát képviselő típusobjektum lekéréséhez.
- A gazdagéptől: A host.getModuleType API meghívható úgy, hogy bármely megadott modulban definiált típusobjektum-ot visszaadja.
A típusobjektum beszerzése után a következő tulajdonságokkal rendelkezik:
| Név | Aláírás | Leírás |
| név | Ingatlan | A típus nevét adja vissza. |
| méret | Ingatlan | A típus méretét adja vissza 64 bites értékként. |
| typeKind | Ingatlan | A típus típusát sztringként adja vissza. Ez a következő értékek egyike lehet: "udt", "pointer", "memberPointer", "array", "function", "typedef", "enum" vagy "intrinsic". |
| baseType | Ingatlan | Egy típusobjektumot ad vissza annak a típusnak, amelyen ez a típus alapul. Ez nem c++ öröklést jelent. Mutatótípus esetén ez annak a dolognak a típusa, amire mutat. Tömbtípus esetén ez a tömbben található típus. |
| Mezők | Ingatlan | Egy objektumot ad vissza, amely a típus összes elnevezett mezőjét elnevezett tulajdonságként teszi elérhetővé. Az egyes tulajdonságok értéke egy mezőobjektum az alábbiak szerint. |
| alaposztályok | Ingatlan | A típus minden közvetlen alaposztályát visszaadja tömb formájában. A tömb minden objektuma egy alaposztály-objektum az alábbiak szerint. |
| függvényVisszatérésiTípus | Ingatlan | Függvénytípusok esetén ez a függvény visszatérési típusát képviselő típusobjektumot ad vissza. |
| functionParameterTypes | Ingatlan | Függvénytípusok esetén ez a függvény paramétertípusait képviselő típusobjektum-tömböt ad vissza. |
| függvényhívási konvenció | Ingatlan | Függvénytípusok esetén ez a függvény hívási konvencióját adja vissza sztringként. Ez a következő értékek egyike lehet: "ismeretlen", "__cdecl", "fastcall", "stdcall" vagy "thiscall". |
| pointerKind | Ingatlan | A mutatótípusok esetében ez sztringként adja vissza a mutató típusát. Ez a következő értékek egyike lehet: "standard", "reference", "rValueReference" vagy "cxHat". |
| memberType | Ingatlan | Tagmutatónak szánt mutatótípusok esetén ez egy tagosztályt képviselő típusobjektumot ad vissza. |
| isGeneric | Ingatlan | Azt adja vissza, hogy a típus általános-e vagy sem. Ez a sablontípusok esetében igaz értéket ad vissza. |
| általános érvek | Ingatlan | Az általános típusok esetében ez általános argumentumok tömbét adja vissza. Az ilyen argumentumok lehetnek típusargumentumok vagy állandó értékek. |
| isBitField | Ingatlan | Azt adja vissza, hogy a típus tárolója bitmező-e vagy sem. |
| bitmező-pozíciók | Ingatlan | A bitmezős tárolást képviselő típusok esetében ez egy bitmező leírási típusát adja vissza, amely a bitmező pozícióit jelzi. |
Ezek a bejegyzések a 2. fázis inicializálása során jelennek meg.
Mezőobjektumok
A típuson belüli mezőket egy mezőobjektum írja le, amelynek tulajdonságai a következők:
| Név | Aláírás | Leírás |
| név | Ingatlan | A mező nevét adja vissza. |
| típus | Ingatlan | A mező statikus típusát képviselő típusobjektumot ad vissza. |
| helytípus | Ingatlan | Sztringként adja vissza a mező helytípusát (tárhelyét). Ez a következő értékek egyike lehet: "tag", "static", "constant" vagy "none". |
| eltolás | Ingatlan | A hely típusú mezők esetében, amelyek eltolást jeleznek (pl. "tag"), ez 64 bites értékként adja vissza a mező eltolását a benne lévő típuson belül. |
| hely | Ingatlan | Olyan mezők esetében, amelyek hely típusúak, és egy helyet jelölnek (például "statikus"), ez a mező helyét adja vissza helyobjektumként. |
| érték | Ingatlan | A hely típusú mezők esetében, amelyek egy értéket jeleznek (pl. "állandó"), ez a mező értékét adja vissza. |
Ezek a bejegyzések a 2. fázis inicializálása során jelennek meg.
Alaposztály-objektumok
Egy típus minden alaposztályát egy alaposztály-objektum írja le, amelynek tulajdonságai a következők:
| Név | Aláírás | Leírás |
| név | Ingatlan | Az alaposztály nevét adja vissza. |
| eltolás | Ingatlan | Ennek az alaposztálynak az eltolását adja vissza a benne található típuson belül. |
| típus | Ingatlan | Az alaposztály statikus típusát képviselő típusobjektumot ad vissza. |
Ezek a bejegyzések a 2. fázis inicializálása során jelennek meg.
Kódpélda
Egy példakódért tekintse meg a ImageInfo.js szkriptet. A kódmintákról további információt a JavaScript Hibakereső példaszkriptjei című témakörben talál.
// fieldType references basic types that should be present in **ANY** symbolic information.
// Just grab the first module as the "reference module" for this purpose. We cannot grab
// "ntdll" generically as we want to avoid a situation in which the debugger opens a module (-z ...)
// from failing.
//
var moduleName = contextInheritorModule.__ComparisonName;
var typeObject = host.getModuleType(moduleName, field.fieldType, contextInheritorModule);
var result = host.createTypedObject(addr, typeObject);
Lásd még:
JavaScript-bővítmények natív hibakereső objektumai
Natív hibakereső objektumok JavaScript-bővítményekben – Tervezési és tesztelési szempontok