Tôi có một quá trình java chạy trên một hộp Linux, nhưng nó không thể được bắt đầu/bắt đầu lại trong chế độ gỡ lỗi. Tôi đọc về lệnh jsadebugd và khởi động trình nền, nhưng tôi muốn kết nối với nó từ trình gỡ lỗi IDE (có thể là Eclipse) hoặc có thể là YourKit hoặc jconsole. Tôi có thể làm cái này như thế nào? JVM từ xa là 1.6+.Tôi có thể kết nối với tiến trình jsadebugd trên máy từ xa từ trình gỡ lỗi Eclipse/IDE không?
Trả lời
tôi giả kể từ khi bạn đề cập Yourkit và khác công cụ mà những gì bạn thực sự muốn làm là nhìn vào trạng thái đối tượng bên trong các ứng dụng của bạn. Có một vài tùy chọn, mặc dù tôi không nghĩ rằng nó giúp bạn có khả năng thiết lập các điểm ngắt như Eclipse hoặc trình gỡ lỗi khác (mặc dù tôi sẽ được nghe thấy điều gì hạn chế bạn bắt đầu quá trình trong chế độ gỡ lỗi - kỹ thuật ? process?)
bạn đã thử kết nối với: VisualVM chưa? Tôi không tin rằng bạn cần phải bắt đầu trong chế độ gỡ lỗi và nó sẽ cung cấp cho bạn khả năng điều hướng biểu đồ đối tượng và kiểm tra các đối tượng. Bạn thậm chí có thể sử dụng nó để lấy heapdumps và làm một số phân tích đặc biệt thông qua chúng bằng cách sử dụng OQL truy vấn.
Nếu bạn đang chạy trên JDK6 + - bạn đã thử thiết bị với btrace chưa? Một số notes from the sailfin team có vẻ đầy hứa hẹn và giống như DTrace trong Solaris, điều này có vẻ như sẽ hữu ích trong nhiều tình huống khác nhau.
Quá trình này đã chạy và tôi muốn xem liệu tôi có thể nhìn vào JVM bằng cách nào đó không. Nó đã không được bắt đầu trong chế độ gỡ lỗi, vì vậy tôi đã khám phá các tùy chọn cho việc này. Nói chung, mặc dù Eclipse debugger và Yourkit đủ mạnh để giải quyết các vấn đề miễn là bạn có quá trình thiết lập cho phù hợp. Tôi đã không thử btrace trước đây, nhưng tôi sẽ kiểm tra nó. – Thimmayya
@thimmayya Những ghi chú đó có trả lời câu hỏi của bạn hay bạn vẫn đang tìm kiếm? – jayshao
ghi chú hữu ích. Tôi chưa thử btrace, nhưng tài liệu nói rằng một chương trình BTrace có thể chạy trên một tiến trình Java đang chạy. Cảm ơn. – Thimmayya
Tôi không chắc liệu tôi có hiểu chính xác các hạn chế của bạn hay không nhưng bạn có thể khởi động JVM với máy chủ gỡ lỗi (đang phục vụ JDWP) được bật. Xem ví dụ "Tùy chọn yêu cầu dịch vụ mặt trời VM" trong http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html
Sau đó, bạn có thể kết nối trình gỡ rối Eclipse của bạn để chạy JVM. Xem "gỡ lỗi từ xa" phần đây http://www.ibm.com/developerworks/library/os-ecbug/
Tôi không chắc rằng điều này được tiếp xúc bởi Eclipse, nhưng đây là làm thế nào để làm điều đó với JDB:
http://java.sun.com/javase/6/webnotes/trouble/TSG-VM/html/tooldescr.html#gbmog
- 1. Gỡ lỗi kết nối từ xa VisualVM
- 2. Không thể kết nối máy chủ từ xa với VisualVM
- 3. Selenium: Không thể kết nối với máy chủ từ xa
- 4. Không thể gỡ lỗi từ xa hoạt động với VS2010
- 5. Gỡ lỗi từ xa trên máy chủ
- 6. Gỡ lỗi ứng dụng GWT trong trình duyệt từ xa
- 7. Sử dụng trình gỡ lỗi từ xa Eclipse ném com.sun.jdi.InternalException
- 8. Kết nối nhiều trình gỡ lỗi với một trình gỡ lỗi (Java, JPDA)
- 9. Gọi dịch vụ web cho "Không thể kết nối với lỗi máy chủ từ xa"
- 10. Gỡ lỗi từ xa bằng trình giả lập Android
- 11. Không thể kết nối từ xa với SQL Server instance
- 12. PHP gỡ lỗi từ xa: XDebug không thể kết nối JetBrains php Bão client
- 13. Lỗi gỡ lỗi từ xa với GDB
- 14. jps không thể kết nối với một jstatd từ xa
- 15. Không thể kết nối đến máy chủ MySQL từ xa với lỗi 61
- 16. "Kết nối hiện có bị đóng bởi máy chủ từ xa" lỗi lẻ tẻ từ HttpWebRequest
- 17. Giao thức trình gỡ lỗi từ xa WinDbg
- 18. Không thể kết nối với Glassfish bằng cách sử dụng bất kỳ trình gỡ lỗi
- 19. Gỡ lỗi từ xa PyCharm
- 20. Kết nối LINQPad với máy chủ SQL từ xa
- 21. x86 Dịch vụ gỡ lỗi từ xa trên x64
- 22. Không thể kết nối trình gỡ lỗi với Jelly Bean Galaxy Nexus
- 23. ANTLR “Không thể khởi chạy trình gỡ lỗi. Hết thời gian chờ để kết nối với trình phân tích cú pháp từ xa. ”
- 24. Tại sao tôi có thể kết nối với SQL Server Express cục bộ nhưng không kết nối với SQL Server từ xa từ PHP?
- 25. Tùy chọn gỡ lỗi từ xa CasperJS
- 26. Kết nối WMI từ xa
- 27. Gỡ lỗi từ xa Eclipse với jboss
- 28. Gỡ lỗi từ xa trên x64 Windows Server 2003
- 29. Không thể gỡ lỗi câu lệnh t-sql - không thể kết nối với máy tính '.'
- 30. Gỡ lỗi từ xa các ứng dụng ASP.NET trên máy chủ có địa chỉ IP tĩnh
Bạn có thể tìm giải pháp cho vấn đề của mình ở đâu? – ekeren