Szimbólumok használata

A szimbólumok áttekintéséhez, beleértve a szimbólumfájlok és szimbólumkiszolgálók használatát, tekintse meg a Szimbólumok című témakört.

Szimbólumnevek és helyek

Ha meg szeretné keresni egy szimbólum helyét a nevével, használja a GetOffsetByName nevet. A szimbólumnevek megadásához használt szintaxis részleteiért lásd a Szimbólumszintaxis és a Szimbólumegyezés című témakört.

Ha egy szimbólum pontos neve nem ismert, vagy több szimbólumnak ugyanaz a neve, a StartSymbolMatch elkezd keresni azokat a szimbólumokat, amelyeknek a neve megegyezik egy adott mintával. A szintaxis részleteiért lásd a karakterlánc helyettesítő karakterek szintaxisát.

Ha meg szeretné keresni egy szimbólum nevét a helyének megadva, használja a GetNameByOffset parancsot. Ha egy modulban egy adott hely közelében szeretné megtalálni a szimbólumok nevét, használja a GetNearNamebyOffset parancsot.

Jegyzet Ha lehetséges, minősítse a szimbólumot a modul nevével – például mymodule!main. Ellenkező esetben, ha a szimbólum nem létezik (például egy tipográfiai hiba miatt), a motornak be kell töltenie és keresnie kell a szimbólumokat minden modulban; ez lassú folyamat lehet, különösen kernel módú hibakeresés esetén. Ha a szimbólum neve modulnévvel lett minősítve, a motornak csak az adott modul szimbólumai között kell keresnie.

A rendszer egyedileg azonosít egy szimbólumot a struktúra DEBUG_MODULE_AND_ID használatával. Ezt a struktúrát a GetSymbolEntriesByName és a GetSymbolEntriesByOffset metódusok adják vissza, amelyek nevük és helyük alapján keresnek szimbólumokat.

A GetSymbolEntryInformation metódus egy szimbólum leírását adja vissza a DEBUG_SYMBOL_ENTRY szerkezet használatával.

Ha meg szeretné keresni egy mező eltolását egy struktúrán belül, használja a GetFieldOffset parancsot. Ha meg szeretné keresni egy mező nevét, amely egy struktúrán belül adja meg az indexét, használja a GetFieldName parancsot. Ha meg szeretné keresni az enumerálási állandó nevét az értékének megadva, használja a GetConstantName parancsot.

A GetSymbolInformation metódus több, szimbólumokkal kapcsolatos információkérést is végrehajthat.

Szimbólumbeállítások

Számos beállítás szabályozza a szimbólumok betöltésének és kiürítésének módját. Ezeknek a beállításoknak a leírását a Szimbólumbeállítások beállítása című témakörben talál.

A szimbólumbeállítások az AddSymbolOptions használatával kapcsolhatók be, és kikapcsolhatók a RemoveSymbolOptions használatával.

A GetSymbolOptions az aktuális szimbólumbeállításokat adja vissza. Az összes szimbólumbeállítás egyszerre történő beállításához használja a SetSymbolOptions parancsot.

Szimbólumok újratöltése

A szimbólumfájlok betöltése után a motor egy belső gyorsítótárban tárolja a szimbóluminformációkat. A gyorsítótár kiürítéséhez használja az Újratöltés parancsot. Ezeket a szimbólumokat most vagy egy későbbi időpontban újra be kell tölteni.

Szintetikus szimbólumok

A szintetikus szimbólumok egy tetszőleges cím címkézésére szolgálnak az egyszerű hivatkozás érdekében. A szintetikus szimbólumok bármely meglévő modulban létrehozhatóak. Az AddSyntheticSymbol metódus létrehoz egy új szintetikus szimbólumot. A szintetikus szimbólumok eltávolíthatók a RemoveSyntheticSymbol használatával. A modul szimbólumainak újbóli betöltése törli a modulhoz társított összes szintetikus szimbólumot.

szimbólum útvonal

Ha könyvtárat vagy szimbólumkiszolgálót szeretne hozzáadni a szimbólum elérési úthoz, használja az AppendSymbolPath metódust. A getSymbolPath visszaadja a teljes szimbólum elérési útját, és a SetSymbolPath használatával módosítható.