有没有人使用过这个?如果使用过,它是否值得一试?
我昨天第一次使用jdb,结果让我非常满意。你知道,我在我的笔记本电脑上用Eclipse编程,然后部署到虚拟机上确保一切仍然正常。偶尔,我需要开发一些作为命令行执行的独立程序,这些程序有时需要调试。
这一直是一个问题,因为我不想费力在虚拟机上安装Eclipse(它已经足够慢了!),但也不知道如何轻松地在我的命令行运行的类完成运行之前让它连接到我的调试器。
jdb拯救了我!它工作得很好,小而实用,几乎可以裸奔……这迫使你更多地运用自己的大脑而不是工具来调试代码(就像我在这里所说的那样)。
一定要打印出参考文档(solaris,windows,java 1.5——我认为它们都差不多),并在第二个屏幕上打开和浏览你的源代码。我希望你有第二个屏幕,否则你将频繁地使用alt-tab。
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=<port> <class>
jdb -attach <port>
jdb -sourcepath \.src -connect com.sun.jdi.SocketAttach:hostname=localhost,port= <port>
JDB非常难用。使用System.out或使用IDE调试器会产生更好的结果。对于更有趣的功能(如跟踪线程、堆大小等),您可以使用JConsole工具以图形方式获取信息。