Eine alternative software wie VisualVM programmgesteuert zu finden, die die Ausführung von java-Anwendungen' - Werte usw. durch die Suche heap-dumps?

Ich bin nicht erfahren mit java-Anwendungen, aber ich fand heraus, dass die Suche nach statischen Zeiger etc. zu diesen Anwendungen die Speicher-Adressen ist oft (fast) unmöglich, wahrscheinlich, weil die java-engine verarbeitet der code (korrigiert mich, wenn diese Art der Benennung, dass es falsch ist, bitte).

Nun, ich habe VisualVM (https://visualvm.dev.java.net/) und es ist toll. Ich kann wählen, meine java-Prozess, und erstellen Sie ein heap-dump. Dann zeigt mir alle Klassen und Ihre Werte.

Kann ich diese Methode verwenden, um continousely Umfrage der heap-dump empfangen und Objekt-Werte, zum Beispiel die X-Y-und Z-für ein Spiel? Wie würde ich die programmgesteuerte Interaktion mit der Anwendung und wenn dies nicht getan werden sollte mit VisualVM, was wäre eine alternative?

Edit: dies ist, was ich tun muss:
Ich muss in der Lage sein, alle Klassen mit Eigenschaften, die einen bestimmten Wert haben. Zum Beispiel: ich Suche für die X-Koordinate (float) und sollte es wieder der Klasse "PlayerCoordsHandler" (nur ein Beispiel) und die entsprechenden float mit dem Wert... oder alternativ einfach einen Weg zu finden, diese gleichen Schwimmer wieder (nach Neustart z.B.). Dieser Prozess muss nicht programmatisch, sofern die Beantragung der Wert der jetzt bekannten Eigenschaft (float x) abgerufen werden können programmgesteuert (zum Beispiel mit einem Befehlszeilen-Dienstprogramm oder das Lesen aus einer Datei).

Edit2:
Die Ziel-Anwendung ist eine ausführbare windows-Datei (machte aber mit java) und bringt seine eigene java-VM. Es ist nicht möglich, java-Parameter für die Fehlersuche. Dies scheint nicht erforderlich zu sein, obwohl, wie VirtualVM ist in der Lage, um das Debuggen der Vorgang einwandfrei. Weiß jemand wie?

Vielen Dank im Voraus.

  • Das ist verrückt, die Leute Lesen "VisualVM" und Sie springt einfach mit Ihrem YourKit, MATTE, meins ist besser als deins, usw., ohne die Beantwortung der eigentlichen Frage. Tom, konnte Sie klären, was Sie versuchen zu tun, ich glaube nicht wirklich, dass die Erzeugung von heap-dumps ist der Weg zu gehen.
  • Meine Erwähnung der MATTE war nur eine generische alternative wie Sie sehen können, mich und ein paar andere auch schlägt vor, dass Tom schafft eine MBean oder etwas, wo er kann entweder veröffentlichen die Werte als Attribute oder eine operation zu suchen, die bestimmte Werte, wenn das praktischer ist. Was ist so toll daran? Eine alternative könnte natürlich sein, nicht zu verwenden, JMX, aber einige andere Schnittstelle, das gleiche zu tun, aber dann Tom schreiben, eine Menge Dinge, JMX, kümmert sich sowieso. Er fragte nach alternativen für eine sehr vage brauchen, und er bekam Sie. Nichts verrückt mit diesem.
  • Alle Antworten bisher waren mehr als hilfreich!!! Ich verstehe, dass meine Frage vielleicht ganz vage, aber für jemanden unerfahrenen mit allen Bedingungen in diesem Bereich, dies ist das beste, das ich tun kann.
  • Ist es eine Reihe von gut definierten Parameter, die Sie wollen, zu betrachten oder etwas komplexer?
  • Ich aktualisiert meine Frage mit einem Beispiel, was ich tun muss. Ich denke, es ist eine gut definierte parameter (?)
  • Ich bearbeitet meine post leicht. ALSO nicht über eine sehr gute PM-Funktion, aber wenn ich vergesse, es zu verlängern mehr, bitte Kommentar posten, um mich daran zu erinnern.
  • Danke, ich kommentierte Ihren post.

InformationsquelleAutor Tom | 2010-01-07
Schreibe einen Kommentar