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.
Számos módszer használható a töréspontok alapvető információinak meghatározására:
A GetId a töréspont azonosítóját adja vissza.
A GetType a töréspont típusát (szoftver vagy processzor) és annak a hatékony processzornak a típusát adja vissza, amelyre a töréspont be van állítva.
A GetAdder a töréspontot hozzáadó klienst adja vissza.
A GetOffset egy töréspont címét adja vissza.
A GetOffsetExpression a töréspont helyét meghatározó kifejezési sztringet adja vissza.
A töréspontok a hely és a töréspont típusa mellett számos paraméterrel is vezérli a működését.
A töréspontparaméterek számos különböző módszerrel vezérelhetők. Emellett a paraméterek többsége a GetParameters használatával is lekérdezhető.
Töréspontok jelzői
A töréspont-jelzők egyfajta töréspont-paraméterek.
A töréspontok jelzői a GetFlags használatával kérdezhetők le. Ezek az AddFlags, RemoveFlags vagy SetFlags használatával módosíthatók.
A töréspontok jelzői bitmezőt alkotnak. Az ebben a bitmezőben használható lehetséges jelzők és jelentésük a következők:
HIBAKERESÉSI_TÖRÉSPONT_ENGEDÉLYEZVE
Ha ez a jelző be van állítva, a töréspont engedélyezve van, és normál hatása lesz. Ha ez a jelző nincs beállítva, a töréspont le van tiltva , és nincs hatása. Ha ideiglenesen inaktiválni szeretne egy töréspontot, eltávolíthatja ezt a jelzőt; ezután egyszerűen felveheti ezt a jelzőt, ha újra engedélyezni szeretné ezt a töréspontot.
DEBUG_BREAKPOINT_ADDER_ONLY
Ha ez a jelző be van állítva, a töréspont egy privát töréspont. Ez a töréspont csak annak az ügyfélnek látható, aki hozzáadta. Ebben az esetben más kliensek nem tudják lekérdezni a motort a törésponttal kapcsolatban, és a motor sem küldi el a töréspont által létrehozott eseményeket más klienseknek. A törésponthoz kapcsolódó összes visszahívás (esemény és kimenet) csak ennek az ügyfélnek lesz elküldve. Lásd: GetAdder.
HIBAKERESÉSI_TÖRÉSPONT_CSAK_FOLYTATÁSRA
Ha ez a jelző be van állítva, a töréspont csak akkor aktiválódik, ha a cél korlátlan végrehajtás alatt áll. Nem aktiválódik, ha a processzor a célzott utasításokon lép végig.
DEBUG_BREAKPOINT_ONE_SHOT
Ha ez a jelző be van állítva, a töréspont automatikusan eltávolítja magát az első aktiválásakor.
DEBUG_SZÜNETPONT_ELHALASZTOTT (DEBUG_BREAKPOINT_DEFERRED)
Ha ez a jelző be van állítva, a töréspont elhalasztva lesz. Ezt a jelzőt a motor állítja be, ha a töréspont eltolása szimbolikus kifejezéssel van megadva, és a motor nem tudja kiértékelni a kifejezést. Minden alkalommal, amikor egy modul betöltődik vagy kirakódik a célrendszerben, a motor megpróbálja újraértékelni a kifejezést minden olyan töréspont esetében, amelynek helye kifejezéssel van megadva. Azok, amelyek nem értékelhetők, halasztottként vannak megjelölve. Ezt a jelzőt egyetlen ügyfél sem módosíthatja.
Egyéb töréspont-paraméterek
A töréspont-paraméterek a következőket is tartalmazzák:
Pass count
Ha a törésponthoz hozzáférési szám van társítva, a rendszer addig nem aktiválja, amíg a cél a megadott számú alkalommal nem lépi át a töréspontot. Az eredetileg beállított pass count a GetPassCount használatával lekérdezhető. A GetCurrentPassCount használatával megadhatja, hogy a motor hány alkalommal lépi át a töréspontot az aktiválás előtt. Az áthagyások száma a SetPassCount használatával új értékre állítható be.
Mérkőzés szál
Ha a törésponthoz egy szál van társítva, a motor figyelmen kívül hagyja, amikor bármely más szál találkozik vele. A szál a GetMatchThreadId használatával található, és a SetMatchThreadId használatával módosítható.
Parancs
Előfordulhat, hogy a törésponthoz egy parancs van társítva. A parancs a töréspont aktiválásakor lesz végrehajtva. Ez a parancs a GetCommand használatával található, és a SetCommand használatával módosítható.
Méret
Ha a töréspont egy processzortörési pont, annak meghatározott méretűnek kell lennie. Ez határozza meg annak a memóriablokknak a méretét, amelynek hozzáférése aktiválja a töréspontot – a blokk kezdete a töréspont helye. A méret a GetDataParameters használatával található, és a SetDataParameters használatával módosítható.
Hozzáférési típus
Ha a töréspont processzortörési pont, akkor hozzáférés-típussal kell rendelkeznie. Ez határozza meg, hogy milyen típusú hozzáférés aktiválja a töréspontot. A töréspont például aktiválható, ha a cél olvas, ír vagy végrehajtja a töréspont által megadott memóriát. A hozzáférési típus a GetDataParameters használatával található, és a SetDataParameters használatával módosítható.
A processzortöréspontok érvényes paraméterei
A processzortörési pontokhoz a következő hozzáférési típusok érhetők el:
| Érték | Leírás |
|---|---|
DEBUG_BREAK_READ |
A töréspont akkor aktiválódik, amikor a PROCESSZOR beolvassa a memóriát a töréspont memóriablokkjában. |
DEBUG_BREAK_WRITE |
A töréspont akkor aktiválódik, amikor a PROCESSZOR memóriát ír a töréspont memóriablokkjába. |
| DEBUG_BREAK_READ | DEBUG_BREAK_WRITE | A töréspont akkor aktiválódik, ha a PROCESSZOR beolvassa vagy írja a memóriát a töréspont memóriablokkjában. |
DEBUG_BREAK_EXECUTE |
A töréspont akkor aktiválódik, amikor a PROCESSZOR lekéri a töréspont memóriablokkjában lévő utasítást. |
DEBUG_BREAK_IO |
A töréspont a töréspontok memóriablokkjában lévő I/O-port elérésekor aktiválódik. (Csak Windows XP és Microsoft Windows Server 2003, csak kernel mód, csak x86) |
Nem minden hozzáférési típus és méret támogatott minden processzoron. A következő hozzáférési típusok és méretek támogatottak:
x86
Minden hozzáférési típus támogatott. DEBUG_BREAK_READ úgy viselkedik, mint DEBUG_BREAK_READ | DEBUG_BREAK_WRITE. A méretnek 1, 2 vagy 4 kell lennie. A töréspont címének a méret többszörösének kell lennie.
x64
Minden hozzáférési típus támogatott. DEBUG_BREAK_READ úgy viselkedik, mint DEBUG_BREAK_READ | DEBUG_BREAK_WRITE. A méretnek 1, 2, 4 vagy 8 kell lennie. A töréspont címének a méret többszörösének kell lennie.