Zeichenfolgenformat 'methodLineTables'

Die Zeichenfolge methodLineTables codiert eine Tabelle mit einem Eintrag pro ausführbarer Einheit einer Klasse.

Der Wert der einzelnen Einträge in der methodLineTables-Tabelle ist die Zeilennummer für die jeweilige ausführbare Einheit (die in der Quellendatei durch die Zeichenfolge classSourceFile benannt ist). Der fünfte Eintrag in der Tabelle enthält beispielsweise die Zeilennummer der fünften ausführbaren Einheit.

Nachfolgend sehen Sie ein Beispiel für eine Zeichenfolge in methodLineTables:
#51+1201#75+11,41
Diese Zeichenfolge wird wie folgt interpretiert:
  • Die Ziffern nach dem Nummernzeichen ("#") repräsentieren eine vollständige Zeilennummer im Quellcode für eine Klasse. In diesem Beispiel befindet sich die erste ausführbare Einheit der ersten Methode in der Klasse in Zeile 51.
  • Die einzelnen Ziffern nach dem Pluszeichen ("+") repräsentieren die Anzahl der Zeilen, die zu der zuletzt angegebenen Zeilennummer addiert werden müssen, um die Zeilennummer der nächsten ausführbaren Einheit zu erhalten. In diesem Beispiel werden anhand der Ziffern nach dem Pluszeichen (+1201) die folgenden Zeilennummern für die zweite bis fünfte ausführbare Einheit berechnet:
    1. 51 + 1 = Zeilennummer der zweiten ausführbaren Einheit (52)
    2. 52 + 2 = Zeilennummer der dritten ausführbaren Einheit (54)
    3. 54 + 0 = Zeilennummer der vierten Ausführbaren Einheit (54) (zwei ausführbare Einheiten in einer Quellenzeile)
    4. 54 + 1 = Zeilennummer der fünften ausführbaren Einheit (55)
  • Wenn das Inkrement für die Zeilennummer negativ oder größer als neun ist, wird die vollständige Zeilennummer für die ausführbare Einheit angegeben. In diesem Beispiel befindet sich die sechste ausführbare Einheit in Zeile 75. Diese Zahl ist um 20 größer als die letzte Zeilennummer (55). In diesem Fall wird für die sechste ausführbare Einheit die vollständige Zeilennummer angegeben. Anschließend beginnt erneut die relative Angabe zur Berechnung der Zeilennummer (#75+11):
    1. 75 = Zeilennummer der sechsten ausführbaren Einheit
    2. 75 + 1 = Zeilennummer der siebenten ausführbaren Einheit (76)
    3. 76 + 1 = Zeilennummer der achten ausführbaren Einheit (77)
  • Ein Komma (",") zeigt das Ende einer Methode und den Anfang der nächsten Methode an. Die Ziffern und Symbole nach dem Komma werden wie oben beschrieben interpretiert. Im Beispiel ist die Zeilennummer für die erste ausführbare Einheit der zweiten Methode nur um 4 größer als die letzte berechnete Zeilennummer für die vorherige Methode. Deshalb wird nach dem Komma die relative Angabe für die Zeilennummernberechnung fortgesetzt (,41):
    1. 77 + 4 = Zeilennummer für die erste ausführbare Einheit der zweiten Methode (81)
    2. 88 + 1 = Zeilennummer für die zweite ausführbare Einheit der zweiten Methode (89)
Anmerkung: Nicht allen ausführbaren Einheiten sind Quelleninformationen zugeordnet. Manche Einheiten werden vom Compiler erstellt, um die Semantik der Sprache Java zu implementieren, z. B. für die Behandlung von Ausnahmen, die Initialisierung oder die Synchronisation. Diese generierten ausführbaren Einheiten haben in der methodLineTables-Zeichenfolge die vollständige Zeilennummer null. Lautet die vollständige Zeilennummer null, ist keine Zeilennummernangabe verfügbar. Gibt es für eine gesamte Methode keine Quelleninformationen, erscheint sie als Methode mit nur einer ausführbaren Einheit, die die Zeilennummer null hat.
Nachfolgend sehen Sie einige weitere Beispiele für methodLineTables-Zeichenfolgen und ihre Bedeutung:
methodLineTables-Zeichenfolge Bedeutung
+5 Ist die Zeilennummer für die erste ausführbare Einheit der ersten Methode kleiner als zehn, beginnt die gesamte Zeichenfolge mit einem Pluszeichen, um die Addition ausgehend von Zeile null zu beginnen. In diesem Beispiel beginnt die erste ausführbare Einheit der ersten Methode in Zeile 5.
+0 Wenn es für die erste Methode keine Quelleninformationen gibt, beginnt die Zeichenfolge mit +0. Alle Sondenfragmente des Typs executableUnit, die auf eine solche Methode anzuwenden sind, werden nur einmal am Anfang der Methode eingefügt.
...#437,#457+123... Wenn die erste ausführbare Einheit für eine Methode mehr als neun Zeilen nach der letzten ausführbaren Einheit der vorherigen Methode beginnt, besteht das Muster aus einem Komma, einem Nummernzeichen und der Zeichenfolge mit der Zeilennummer der ersten ausführbaren Einheit in der neuen Methode. In diesem Beispielausschnitt beginnt die erste ausführbare Einheit der neuen Methode 20 Zeilen nach der letzten ausführbaren Einheit der vorherigen Methode.
...#437,+2... Es ist möglich, dass die letzte ausführbare Einheit einer Methode mit dem Zeichen "#" angegeben werden muss und die nächste Methode nur wenige Zeilen weiter beginnt. In diesem Beispielausschnitt beginnt die letzte ausführbare Einheit einer Methode in Zeile 437. Die erste ausführbare Einheit der nächsten Methode beginnt in Zeile 439.

Übergeordnetes Thema: Referenzinformationen zu Probekit-Elementen

Zugehörige Verweise
Sondenobjekt 'Data'

Nutzungsbedingungen | Feedback
(C) Copyright IBM Corporation 2004. Alle Rechte vorbehalten.