Das Sondenobjekt Fragment spezifiziert die Logik einer Sonde. Es enthält den auszuführenden Java-Quellcode.
Es ist mindestens ein Objekt 'Fragment' erforderlich. Es enthält das Objekt 'Code' und alle Datenfelder, die vom Quellcode im Objekt 'Code' referenziert werden. Eine Sonde kann mehrere Fragment-Objekte enthalten, jedoch muss für jedes dieser Fragment-Objekte ein anderer type angegeben sein.
Merkmal | Beschreibung |
---|---|
type | Erforderliches Merkmal. Für Method-Sonden muss das Merkmal auf entry, exit, catch, staticInitializer oder executableUnit gesetzt sein. Für Callsite-Sonden muss es auf beforeCall oder afterCall gesetzt sein. Method- und Callsite-Fragmente dürfen nicht zusammen in einer Sonde enthalten sein. |
Fragmenttyp | Sondentyp | Beschreibung |
---|---|---|
entry | Method | Fragmente des Typs entry werden beim Methodeneintritt ausgeführt. Fragmente des Typs entry werden nicht für Methoden ausgeführt, die vom Probekit in die Klasse eingefügt wurden. |
exit | Method | Fragmente des Typs exit werden beim Methodenaustritt ausgeführt. Die Ausführung erfolgt bei einem normalen Methodenaustritt, wenn die Methode eine Ausnahme auslöst oder wenn eine ausgelöste Ausnahme über die Methode hinaus weitergegeben wird. Fragmente des Typs exit werden nicht für Methoden ausgeführt, die vom Probekit in die Klasse eingefügt wurden. |
catch | Method | Fragmente des Typs catch werden ausgeführt, wenn in der Methode eine Klausel catch beginnt oder wenn eine Klausel finally beginnt, die infolge einer Ausnahme ausgeführt wird. |
staticInitializer | Method | Fragmente des Typs staticInitializer werden innerhalb des Initialisierungsoperators jeder instrumentierten Klasse ausgeführt. Wenn die Klasse noch keinen Initialisierungsoperator hat, wird ein solcher erstellt. Weitere Informationen hierzu finden Sie im Artikel Sondenfragment 'staticInitializer'. |
executableUnit | Method | Fragmente des Typs executableUnit werden vor allen ausführbaren Codeeinheiten ausgeführt, die in Methoden enthalten sind, die mit der Ziel und Filterspezifikation der Sonde übereinstimmen und für die Quellcode verfügbar ist. Wenn es für die Methode keine Quellenzeileninformationen gibt, erscheint sie als Methode mit nur einer ausführbaren Einheit, die die Nummer null hat. Weitere Informationen hierzu finden Sie im Artikel Sondenfragment 'executableUnit'. |
beforeCall | Callsite | Fragmente des Typs beforeCall werden in der aufrufenden Methode unmittelbar vor dem Aufruf der Zielmethode ausgeführt. Dieser Typ ist für Method-Sonden nicht gültig. |
afterCall | Callsite | Fragmente des Typs afterCall werden in der aufrufenden Methode unmittelbar nach dem Austritt aus der Zielmethode ausgeführt. Dies gilt sowohl für einen normalen Austritt als auch für einen Austritt, weil die Zielmethode eine Ausnahme ausgelöst hat. Dieser Typ ist für Method-Sonden nicht gültig. |
<fragment type="entry"> <data . . . /> <code> . . . </code> </fragment>
Enthalten in:
Objekt 'Probe'
Enthält:
Sondenobjekt 'Data'
Sondenobjekt 'Code'
Übergeordnetes Thema: Referenzinformationen zu Probekit-Elementen
Zugehörige Verweise
Probekit-Beispiele
Sondenfragment 'executableUnit'
Sondenfragment 'staticInitializer'