anonyme Klasse finden

  • Themenstarter Themenstarter Gelöschtes Mitglied 9001
  • Beginndatum Beginndatum
G

Gelöschtes Mitglied 9001

Gast
Hallo,

ich analysiere meine Anwendung gerade mit Java VisualVM, und nun muß ich die anonyme Klasse "meinProgramm$26" finden. Gibt es eine Alternative zum manuellen Durchsuchen und Zählen im Quelltext? Habe dazu nichts finden können.

Danke für alle Tipps!
Rajmund
 
Der Klassenname wird vom Compiler vergeben. Insofern ist es recht unwahrscheinlich, dass da etwas gedreht werden kann. Wie sollte das auch aussehen? Anonyme Klassen haben halt die Eigenschaft, nicht benannt zu sein.
 
Ich habe mich wahrscheinlich nicht ganz verständlich ausgedrückt: mir geht es um das Finden der anonymen Klasse Nr. 26 im Quelltext. Und dafür würde ich ungern den Quelltext von oben an studieren und die anonymen Klassen durchzählen, bis ich bei Nr. 26 bin. Also suche ich etwas in der Art: "Goto anonymus class number xy...".

Inzwischen habe ich herausgefunden, wie man mit etwas Umweg javap nutzen kann. Und zwar habe ich die .class-Datei zunächst dupliziert und dafür einen Namen ohne das Dollar-Zeichen vergeben (mit Dollar-Zeichen funktionierte es nicht). Dann javap -verbose <geanderter Name ohne .class> aufgerufen. In der Ausgabe waren die Zeilennummern zu finden.
 
Oh, das habe ich falsch interpretiert. javap ist in der Tat ganz gut geeignet. Solltest Du eine Linux-Shell nutzen, lag das mit dem Dollar sicher daran, dass die Shell das als Variable interpretiert hat (in der bash ist $1 das erste Argument, in der interaktiven Shell in der Regel leer). Escaping per Backslash ([c]\$[/c]) oder Verwendung in einfachen Anführungsstrichen ([c]'Foo$1'[/c]) sollte Abhilfe schaffen.
 
.. lag das mit dem Dollar sicher daran, dass die Shell das als Variable interpretiert hat (in der bash ist $1 das erste Argument, in der interaktiven Shell in der Regel leer). Escaping per Backslash ([c]\$[/c]) oder Verwendung in einfachen Anführungsstrichen ([c]'Foo$1'[/c]) sollte Abhilfe schaffen.
Stimmt, danke, das hatte ich irgendwie kurz ganz vergessen.
 

Zurück
Oben