Java jdb远程调试命令行工具

bmw*_*128 7 java jdb

有人有这方面的经验吗?如果是的话,值得吗?

Joh*_*han 6

我昨天第一次使用jdb,我对结果非常满意.你看,我在我的笔记本电脑上用Eclipse编程,然后部署到VM以确保整个shebang仍然有效.非常偶然,我将不得不处理一些独立执行的事情,作为命令行.这些东西有时需要调试.

这一直是一个问题,因为我不想在VM上安装Eclipse的麻烦(它已经足够慢了!),但我不知道一个简单的方法来连接到我的命令行 - 在完成运行之前运行类.

jdb来救援!它起作用 - 小而实用,几乎到了裸露的地步......这迫使你比你应用工具更多地应用你的思想(就像我在这里说的那样).

确保打印出参考文献(solaris,windows,java 1.5 - 我认为它们都是一样的,真​​的如此)并在第二个屏幕上打开并浏览您的源代码.我希望你有第二个屏幕,或者你会很多.


Eva*_* Y. 5

假设您的程序由以下命令启动:

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=<port> <class>
Run Code Online (Sandbox Code Playgroud)

您可以通过 jdb 附加到此进程:

jdb -attach <port>
Run Code Online (Sandbox Code Playgroud)

在某些情况下,您需要使用以下命令。

 jdb -sourcepath \.src -connect com.sun.jdi.SocketAttach:hostname=localhost,port= <port>
Run Code Online (Sandbox Code Playgroud)