Το είδος τμήματος κώδικα διερευνητή executableUnit

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

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

Ένα τμήμα κώδικα executableUnit μπορεί να χρησιμοποιεί όλα τα είδη στοιχείων δεδομένων, εκτός από τα returnedObject, exceptionObject, isFinally και thisObject. Το πιο σημαντικό είναι ότι μπορεί να χρησιμοποιεί το στοιχείο δεδομένων executableUnitNumber, το οποίο περιέχει τον αριθμό της εκτελέσιμης μονάδας που πρόκειται να εκτελεστεί.

Ο αριθμός των εκτελέσιμων μονάδων σε μια μέθοδο και στους πίνακες γραμμών δεν συμπεριλαμβάνει τις εκτελέσιμες μονάδες που έχουν εισαχθεί στη μέθοδο από το Probekit.

Εκτελέσιμες μονάδες και βασικές ενότητες

Μια εκτελέσιμη μονάδα ξεκινά στην αρχή κάθε βασικής μονάδας και σε κάθε κώδικα byte του οποίου ο αριθμός γραμμής πρωτογενούς κώδικα είναι διαφορετικός από τον προηγούμενο κώδικα byte. Μια βασική μονάδα είναι μια περιοχή οδηγιών byte οι οποίες δεν μπορούν να τοποθετηθούν σε διακλάδωση ή να απομακρυνθούν από μια διακλάδωση. Όταν εκτελείται η πρώτη οδηγία σε μια βασική ενότητα, τότε εκτελούνται όλες οι οδηγίες. Για το λόγο αυτό οι οδηγίες θεωρούνται ως μία ομάδα.

Οι βασικές ενότητες καταλήγουν με οδηγίες όπως branch, call, throw και return.

Ορισμένες οδηγίες, όπως η divide, δεν θεωρούνται ως η κατάληξη μιας εκτελέσιμης μονάδας, παρά το γεγονός ότι μπορούν να εμφανίσουν εξαίρεση. Κατά τον τρόπο αυτό, μια εκτελέσιμη μονάδα δεν είναι τεχνικά ίδια με μια βασική ενότητα.

Εάν μια μέθοδος Java δεν έχει συσχετισμένες πληροφορίες πρωτογενούς κώδικα, ολόκληρη η μέθοδος θεωρείται ότι έχει μόνο μία εκτελέσιμη μονάδα.

Σχετικές παραπομπές
Τμήματα κώδικα διερευνητή
Σχετικές πληροφορίες
Ένα παράδειγμα τμήματος κώδικα διερευνητή executableUnit