A töréspontok segítségével a felhasználók egy adott helyen felfüggeszthetik a program végrehajtását. A töréspontok jellemzően a felhasználói felületen jelennek meg a forráskóddal. Ha egy törésponttal találkozik a program végrehajtása során, akkor a program felfüggeszti és aktiválja a SUSPEND hibakeresési eseményt, amelynek oka a BREAKPOINT.
Ha a bedolgozónak meg kell jelenítenie a töréspontokat a felhasználói felületén, akkor hozzáadhat egy IBreakpointListener felületet az IBreakpointManager felülethez. Az IBreakpointManager a központi jogosultság az összes töréspont esetén. A töréspontok a töréspontkezelő használatával kerülnek hozzáadásra és eltávolításra, ami tájékoztatja a figyelőket a töréspontok tevékenységeiről. A töréspont műveletei engedélyezhetők és letilthatók a töréspontkezelő használatával. A töréspontkezelő a DebugPlugin elemből szerezhető meg:
IBreakpointManager mgr = DebugPlugin.getDefault().getBreakpointManager();
A bedolgozóknak, amelyek saját hibakeresési modelleket adnak meg és elindítják a konfigurációkat, gyakran meg kell adniuk a saját töréspont-típusaikat. Töréspontokat valósíthat meg az adott hibakeresési modellhez az IBreakpoint pontot megvalósító osztályok megadásával.
A töréspontok az erőforrásjelzők segítségével kerülnek megvalósításra. Ne feledje el, hogy az erőforrásjelzők segítségével erőforrással kapcsolatos metainformációk társíthatók megnevezett attribútumok formájában. Ha a töréspontok jelzők segítségével kerülnek megvalósításra, akkor a hibakeresési modell használhatja az összes meglévő jelzőfunkciót, mint például az állandóság, a keresés, a hozzáadás, a törtlés és a megjelenítés a szerkesztőkben.
Miért fontos tudni a jelzőkről a töréspontok használatakor? Törésponttípusok létrehozásakor egy hozzárendelt jelzőtípust is meg kell adnia. A org.eclipse.debug.core.breakpoints minden kiterjesztését a org.eclipse.core.resources.markers kiterjesztésének kell kísérnie. Ez legjobban a Java töréspontok Java eszközkészletének megtekintésével demonstrálható.
<extension id="javaBreakpointMarker" point="org.eclipse.core.resources.markers"> <super type="org.eclipse.debug.core.breakpointMarker"/> </extension> <extension id="javaExceptionBreakpointMarker" point="org.eclipse.core.resources.markers"> <super type="org.eclipse.jdt.debug.javaBreakpointMarker"/> <persistent value="true"/> <attribute name="org.eclipse.jdt.debug.core.caught"/> <attribute name="org.eclipse.jdt.debug.core.uncaught"/> <attribute name="org.eclipse.jdt.debug.core.checked"/> </extension>
<extension point="org.eclipse.debug.core.breakpoints"> <breakpoint id="javaExceptionBreakpoint" markerType="org.eclipse.jdt.debug.javaExceptionBreakpointMarker" class="org.eclipse.jdt.internal.debug.core.breakpoints.JavaExceptionBreakpoint"> </breakpoint> </extension>
A hibakeresés bedolgozó megad egy speciális jelzőtípust az org.eclipse.debug.core.breakpointMarker jelzőtípust. A hibakereső számára a töréspontjelző megadásakor a jelzőt szupertípusként kell deklarálnia. Ennek segítségével a hibakeresési modell megkeresheti az összes lehetséges töréspontot a forrásfájlban a jelző altípusainak megkeresésével. A fenti példában a javaExceptionBreakpointMarker rendelkezik a javaBreakpointMarker szupertípussal, amelynek szupertípusa breakpointMarker. A javaExceptionBreakpoint (amely a töréspont kiterjesztésben van megadva) a javaExceptionBreakpointMarker elemet jelöli meg jelzőként.
Mit jelent mindez? Ha a hibakeresési kód egy forráskódfájlt kér le, akkor megkeresheti az összes jelzőt, amelynek szupertípusa org.eclipse.debug.core.breakpointMarker. Az összes jelző megtalálásakor használhatja a kiterjesztés-nyilvántartást a jelzők társított töréspontosztályaira leképezéséhez. Ebben az esetben a platform-hibakeresési kód általában megtalálhatja az adott forrásfájlon beállított összes törésponttípust.