Probfragmenttyper

Alla fragment som du definierar kräver en typspecifikation. Typen indikerar om fragmentet körs i målmetoderna. En prob kan innehålla flera fragment, men bara en fragmenttyp.

Den följande tabellen visar och beskriver fragmenttyperna och anger om typen kan användas för metod- eller Callsite-prober. (För information om skillnaden mellan metod- och Callsite-prober se Metodprober jämfört med Callsite-prober.)
Fragmenttyp Metod eller Callsite Beskrivning
entry Metod entry-fragment kör vid metodstart. entry-fragment körs inte för metoder som infogats i klassen med Probekit.
exit Metod exit-fragment körs vid metodavslut: vid normalt avslut, när metoden genererar ett undantag eller när undantaget fortskrider utanför metoden. exit-fragment körs inte för metoder som infogats i klassen med Probekit.
catch Metod catch-fragment körs i början av catch-satsdelen i metoden, eller i början av en finally-satsdel som körs på grund av ett undantag.
staticInitializer Metod staticInitializer-fragment körs inuti klassinitieraren för alla klasser där proben körs. Om det inte redan finns en statisk initieringsfunktion för klassen skapas en. Mer information finns i Probfragmenttypen staticInitializer.
executableUnit Metod executableUnit-fragment körs före varje körbar kodenhet i metoder som överensstämmer med probens mål- och filterspecifikationer, och som har tillgänglig källkod. Om det inte finns någon källkodsinformation i metoden visas den som en enstaka körbar enhet med nummer noll. Mer information finns i executableUnit-probfragmenttypen.
beforeCall Callsite beforeCall-fragment körs i den anropande metoden omedelbart före den målmetod som anropas. Ej giltigt för metodprober.
afterCall Callsite afterCall-fragment körs i den anropande metoden omedelbart efter att målmetoden avslutas: antingen vid normalt avslut eller när målmetoden genererar ett undantag. Ej giltigt för metodprober.
Obs!

En prob kan ha fler fragment som gäller samma plats i en metod: exempelvis ett entry-fragment och den första executableUnit-platsen. Ett annat exempel är ett catch-fragment och dess associerade executableUnit-plats, eftersom catch-satsdelar för undantagshantering alltid representerar början på en ny körbar enhet. I de här fallen körs executableUnit-fragmentkoden efter entry- eller catch-fragmentets kod. En konsekvens är att entry-fragmenten, om sådana finns, alltid körs före andra typer av fragment.

Du kan inte blanda metod- och Callsite-fragment i en enda prob, men du ha kan metod- och Callsite-prober i samma Probekit-källfil (.probe-fil).

Exempel:

Om du vill ange en fragmenttyp markerar du en Fragment-post i trädfönstret på sidan Prober och väljer i listan över fragmenttyper i redigeringsfönstret.

Markerade fragmenttyper i Probekit-redigeraren

Mer information finns för följande probfragmenttyper:
Närliggande referens
Probfragment och Java-källkod
Probfragmentets dataobjekt