繁体   English   中英

我可以从Eclipse / IDE调试器连接到远程机器上的jsadebugd进程吗?

[英]Can I connect to a jsadebugd process on a remote machine from Eclipse/IDE debugger?

我有一个在Linux机器上运行的java进程,但它无法在调试模式下启动/重新启动。 我阅读了jsadebugd命令并启动了守护程序,但我想从IDE(可能是Eclipse)调试器或者YourKit或jconsole连接到它。 我怎样才能做到这一点? 远程JVM是1.6+。

我假设您提到了Yourkit和其他工具,您真正想要做的是查看应用程序中的对象状态。 有几个选项,虽然我认为它不会让你能够设置像Eclipse或其他调试器那样的断点(虽然我会听到什么限制你在调试模式下启动进程 - 技术?过程?)

  1. 你试过连接: VisualVM 我不相信您需要在调试模式下启动,它将使您能够导航对象图并检查对象。 您甚至可以使用它来获取堆转储并使用OQL查询通过它们进行一些临时分析。

  2. 如果您在JDK6 +上运行 - 您是否尝试使用btrace进行检测? 来自sailfin团队的一些注释听起来很有希望,就像Solaris中的DTrace一样,这似乎在各种情况下都很有用。

我不确定我是否正确理解了您的限制,但您可以启用JVM并启用调试服务器(提供JDWP)。 请参阅http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html中的 “Sun VM调用选项”示例

然后,您可以将Eclipse调试器连接到正在运行的JVM。 请参阅http://www.ibm.com/developerworks/library/os-ecbug/中的 “远程调试”部分

我不确定这是否暴露在Eclipse中,但是这里是如何用jdb做的:

http://java.sun.com/javase/6/webnotes/trouble/TSG-VM/html/tooldescr.html#gbmog

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM