Είδη τμημάτων κώδικα διερευνητή

Κάθε τμήμα κώδικα που ορίζετε απαιτεί μια προδιαγραφή είδους. Το είδος δηλώνει το χρόνο εκτέλεσης του τμήματος κώδικα στις μεθόδους στόχους. Ένας διερευνητής μπορεί να περιέχει περισσότερα του ενός τμήματα κώδικα, αλλά δεν μπορεί να περιέχει περισσότερα του ενός είδη τμημάτων κώδικα.

Στον παρακάτω πίνακα παρουσιάζονται και περιγράφονται τα είδη τμημάτων κώδικα και υποδεικνύεται αν το είδος μπορεί να χρησιμοποιηθεί για έναν διερευνητή μεθόδου ή σημείου κλήσης. (Για τη διάκριση μεταξύ διερευνητών μεθόδου και σημείου κλήσης, ανατρέξτε στην ενότητα Διερευνητές μεθόδων και διερευνητές σημείων κλήσης.)
Είδος τμήματος κώδικα Μέθοδος ή Σημείο κλήσης Περιγραφή
entry Μέθοδος Τα τμήματα κώδικα entry εκτελούνται κατά την είσοδο στη μέθοδο. Τα τμήματα entry δεν εκτελούνται για μεθόδους οι οποίες έχουν εισαχθεί στην κλάση από το Probekit.
exit Μέθοδος Τα τμήματα κώδικα exit εκτελούνται κατά την έξοδο από τη μέθοδο: μια κανονική έξοδο, όταν η μέθοδος παρουσιάζει εξαίρεση ή όταν η εξαίρεση που προκύπτει μεταδίδεται σε άλλες μεθόδους. Τα τμήματα exit δεν εκτελούνται για μεθόδους οι οποίες έχουν εισαχθεί στην κλάση από το Probekit.
catch Μέθοδος Τα τμήματα κώδικα catch εκτελούνται στην αρχή μιας συνθήκης catch της μεθόδου ή στην αρχή μιας συνθήκης finally η οποία εκτελείται ως αποτέλεσμα μιας εξαίρεσης.
staticInitializer Μέθοδος Τα τμήματα κώδικα staticInitializer εκτελούνται εκτός της λειτουργίας απόδοσης αρχικών τιμών στην κλάση για κάθε ελεγχόμενη κλάση. Εάν η κλάση δεν διαθέτει ήδη στατική λειτουργία απόδοσης αρχικών τιμών, τότε θα δημιουργηθεί μία τέτοια λειτουργία. Για περισσότερες λεπτομέρειες, ανατρέξτε στην ενότητα Το είδος τμήματος κώδικα διερευνητή staticInitializer.
executableUnit Μέθοδος Τα τμήματα κώδικα executableUnit εκτελούνται πριν από κάθε εκτελέσιμη μονάδα του κώδικα σε μεθόδους οι οποίες συμφωνούν με τα κριτήρια της προδιαγραφής στόχευσης και φιλτραρίσματος του διερευνητή και για τις οποίες υπάρχει διαθέσιμος πρωτογενής κώδικας. Εάν η μέθοδος δεν διαθέτει πληροφορίες γραμμής πρωτογενούς κώδικα, θα φαίνεται ότι έχει μία εκτελέσιμη μονάδα, με τον αριθμό μηδέν. Για περισσότερες λεπτομέρειες, ανατρέξτε στην ενότητα Το είδος τμήματος κώδικα διερευνητή executableUnit.
beforeCall Σημείο κλήσης Τα τμήματα κώδικα beforeCall εκτελούνται στη μέθοδο κλήσης ακριβώς πριν την κλήση της μεθόδου στόχου. Δεν είναι έγκυρο για διερευνητές μεθόδων.
afterCall Σημείο κλήσης Τα τμήματα κώδικα afterCall εκτελούνται στη μέθοδο κλήσης αμέσως μετά την έξοδο από τη μέθοδο στόχο: είτε πρόκειται για κανονική έξοδο είτε όταν προκύπτει εξαίρεση στη μέθοδο στόχο. Δεν είναι έγκυρο για διερευνητές μεθόδων.
Σημείωση:

Ένας διερευνητής μπορεί να έχει πολλαπλά τμήματα κώδικα που εφαρμόζονται στην ίδια θέση μιας μεθόδου: για παράδειγμα, ένα τμήμα κώδικα entry και η πρώτη θέση executableUnit. Ένα άλλο παράδειγμα είναι ένα τμήμα κώδικα catch και η συσχετισμένη με αυτό θέση executableUnit, διότι οι συνθήκες catch για το χειρισμό των εξαιρέσεων εκφράζουν πάντα την αρχή μιας νέας εκτελέσιμης μονάδας. Στις περιπτώσεις αυτές, το τμήμα κώδικα executableUnit θα εκτελείται μετά από το τμήμα κώδικα entry ή catch. Μια συνέπεια είναι ότι τα τμήματα κώδικα entry, εάν υπάρχουν, θα εκτελούνται πάντα πριν από άλλα είδη τμημάτων κώδικα.

Δεν μπορείτε να έχετε τμήματα κώδικα μεθόδου και τμήματα κώδικα σημείου κλήσης μαζί σε έναν διερευνητή. Μπορείτε όμως να έχετε διερευνητές μεθόδων και διερευνητές σημείων κλήσης στο ίδιο αρχείο πρωτογενούς κώδικα Probekit (αρχείο probe).

Παράδειγμα:

Για να προσδιορίσετε ένα είδος τμήματος κώδικα, επιλέξτε μια καταχώρηση Τμήμα κώδικα στο τμήμα παραθύρου διακλάδωσης της σελίδας "Διερευνητές" και επιλέξτε από τη λίστα ειδών τμημάτων κώδικα που εμφανίζεται στο τμήμα παραθύρου τροποποίησης.

Λειτουργία επεξεργασίας Probekit με επισημασμένη την επιλογή είδους τμήματος κώδικα

Για τα παρακάτω είδη τμημάτων κώδικα διερευνητή υπάρχουν διαθέσιμες πρόσθετες πληροφορίες:
Σχετικές παραπομπές
Πρωτογενής κώδικας Java για το τμήμα κώδικα του διερευνητή
Στοιχεία δεδομένων τμημάτων κώδικα διερευνητή