2009-06-26 9 views
7

Ich habe einen Java-Prozess läuft auf einer Linux-Box, aber es kann nicht im Debug-Modus gestartet/neu gestartet werden. Ich habe über den Befehl jsadebugd gelesen und den Daemon gestartet, aber ich möchte von einem IDE (möglicherweise Eclipse) -Debugger oder vielleicht YourKit oder jconsole darauf zugreifen. Wie kann ich das machen? Die entfernte JVM ist 1.6+.Kann ich eine Verbindung zu einem jsadebugd-Prozess auf einem Remote-Computer vom Eclipse/IDE-Debugger aus herstellen?

+2

Wo finden Sie eine Lösung für Ihr Problem? – ekeren

Antwort

1

Ich gehe davon aus, da Sie erwähnten Yourkit und andere Werkzeug, das, was Sie wirklich tun möchten, ist, den Objektzustand in Ihren Anwendungen zu betrachten. Es gibt ein paar Optionen, obwohl ich nicht denke, dass es Ihnen die Möglichkeit gibt, Break-Points wie Eclipse oder einen anderen Debugger zu setzen (obwohl ich interessiert wäre, was Sie daran hindert, den Prozess im Debug-Modus zu starten) ? Prozess?)

  1. haben Sie versucht mit: VisualVM? Ich glaube nicht, dass Sie im Debug-Modus starten müssen, und es gibt Ihnen die Möglichkeit, das Objektdiagramm zu navigieren und Objekte zu überprüfen. Sie können es sogar verwenden, um Heapdumps zu erstellen und eine Ad-hoc-Analyse mithilfe von OQL Abfragen durchzuführen.

  2. Wenn Sie auf JDK6 + laufen - haben Sie versucht, mit Btrace zu instrumentieren? Einige notes from the sailfin team klang vielversprechend, und wie DTrace in Solaris scheint es, als wäre es in einer Vielzahl von Situationen nützlich.

+0

Der Prozess lief bereits und ich wollte sehen, ob ich irgendwie in die JVM schauen könnte. Es wurde nicht im Debug-Modus gestartet, also habe ich Optionen dafür untersucht. Im Allgemeinen sind Eclipse-Debugger und Yourkit jedoch so leistungsfähig, dass Probleme gelöst werden können, solange Sie die Prozesse entsprechend einrichten. Ich habe Btrace noch nie zuvor versucht, aber ich werde es überprüfen. – Thimmayya

+0

@thimmayya Haben diese Notizen Ihre Frage beantwortet, oder suchen Sie noch? – jayshao

+0

die Notizen waren hilfreich. Ich habe btrace noch nicht versucht, aber die Dokumentation sagt, dass ein BTrace-Programm gegen einen laufenden Java-Prozess laufen kann. Vielen Dank. – Thimmayya

Verwandte Themen