任何人都有使用此功能的经验吗? 如果是的话,值得吗?
答案 0 :(得分:5)
我昨天第一次使用jdb,我对结果非常满意。你看,我在我的笔记本电脑上用Eclipse编程,然后部署到VM以确保整个shebang仍然有效。非常偶然,我将不得不处理一些独立执行的事情,作为命令行。这些事情有时需要调试。
这一直是一个问题,因为我不想在VM上安装Eclipse的麻烦(它已经足够慢了!),但我不知道一个简单的方法来连接它在完成运行之前到我的命令行运行类。
jdb救援!它起作用 - 小巧而实用,几乎到了裸露的地步......这会迫使你比应用工具更多地应用你的思想(就像我说here)。请务必打印出参考文件(solaris,windows,java 1.5 - 我认为它们的内容完全相同,并且您的源代码可以打开并可浏览你的第二个屏幕。我希望你有第二个屏幕,或者你会很多地选择。
答案 1 :(得分:2)
假设您的程序由以下命令启动:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=<port> <class>
您可以通过jdb附加到此过程:
jdb -attach <port>
答案 2 :(得分:-3)
JDB难以使用。放置System.outs或使用IDE调试器将产生更好的结果。对于更有趣的功能(例如跟踪线程,堆大小等),您可以使用JConsole工具以图形方式获取信息。