# anonyme Klasse finden



## Gelöschtes Mitglied 9001 (28. Mai 2010)

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


----------



## musiKk (28. Mai 2010)

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.


----------



## Gelöschtes Mitglied 9001 (28. Mai 2010)

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.


----------



## musiKk (28. Mai 2010)

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.


----------



## Gelöschtes Mitglied 9001 (28. Mai 2010)

musiKk hat gesagt.:


> .. 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.


----------

