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?
Antwort
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?)
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.
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.
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
@thimmayya Haben diese Notizen Ihre Frage beantwortet, oder suchen Sie noch? – jayshao
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
Ich bin mir nicht sicher, ob ich Ihre Einschränkungen richtig verstehe, aber Sie können JVM mit Debugging-Server starten (JDWP-Dienst) aktiviert. Siehe zum Beispiel "Sun VM Invocation Options" unter http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html
Dann können Sie Ihren Eclipse-Debugger mit laufender JVM verbinden. Siehe „Remote-Debugging“ Abschnitt hier http://www.ibm.com/developerworks/library/os-ecbug/
Ich bin nicht sicher, dass dies Eclipse ausgesetzt ist, aber hier ist, wie es mit jdb zu tun:
http://java.sun.com/javase/6/webnotes/trouble/TSG-VM/html/tooldescr.html#gbmog
- 1. kann keine Verbindung zu Remotecomputer mit WMI und Perl herstellen
- 2. Visual Studio 2012 kann keine Verbindung zum BizTalk Adapater-Dienst auf einem Remotecomputer herstellen
- 3. Wie kann ich eine Verbindung zu einem: Download: Datei auf einem Netzwerklaufwerk in Sphinx herstellen?
- 4. Wie kann ich eine Verbindung zu MySQL auf einem WAMP-Server herstellen?
- 5. Wie kann ich eine sichere Verbindung zu einem Websocket auf localhost herstellen?
- 6. Kann ich mit JavaScript eine Verbindung zu SSH herstellen?
- 7. Wie kann ich mit boost :: asio eine Verbindung zu einem Unix-Domain-Socket herstellen?
- 8. Warum kann ich keine Verbindung zu Oracle 10g aus einem PHP-Programm herstellen?
- 9. Wie kann ich eine Verbindung zu einer Datenbank auf einem Remote-Server in einem Hintergrund-Thread herstellen?
- 10. Kann ich in Windows eine Symlink-Verbindung zu einem Netzlaufwerk mit XAMPP herstellen?
- 11. Kann ich mit v8cgi/mysql eine Verbindung zu einem nicht standardmäßigen Port herstellen?
- 12. Wie kann ich eine Verbindung zu einem Wowza Transcoder-Stream in JWPlayer herstellen?
- 13. Kann ich mit MySQL Workbench eine Verbindung zu einem Microsoft SQL Server herstellen?
- 14. Ziel C - Verbindung mit einem Zeitserver herstellen
- 15. Ich kann keine SSL-Verbindung herstellen
- 16. iperf kann keine Verbindung vom Remote-Computer herstellen
- 17. Verbindung zu einem anderen Prozess herstellen, um Profilinformationen zu sammeln?
- 18. Herstellen einer Verbindung mit einem WSE 3.0-Webdienst von einem WCF-Client aus
- 19. Pfad zu Programmdateien auf Remotecomputer
- 20. Socket.IO starten eine Verbindung vom Client zu einem Drittanbieter-Server
- 21. Herstellen einer Verbindung zu einem kennwortgeschützten Webdienst mit PHP
- 22. Verbindung mit einem Server herstellen, der nicht auf Schließen antwortet()
- 23. Wie kann ich eine Verbindung zu einem Server mithilfe von Python-Sockets in einem Docker-Container herstellen?
- 24. C# kann keine Verbindung zu Vmware herstellen
- 25. Ich kann keine Verbindung zu einem Online-SQL-Server herstellen (ERROR: 25, ERROR: 87)
- 26. kann keine Verbindung herstellen
- 27. Warum kann ich keine Verbindung zu Kafka/Zookeeper herstellen? (In einem Docker)
- 28. kann Datenbank nicht öffnen - vom Login angefordert - Warum kann ich keine Verbindung zu meiner DB herstellen?
- 29. Warum kann ich keine Verbindung zu meinem Android-Gerät herstellen?
- 30. trafodion kann keine Verbindung zu hbase herstellen
Wo finden Sie eine Lösung für Ihr Problem? – ekeren