有没有人有使用过这方面的经验? 如果是这样,它值得吗?Java jdb远程调试命令行工具
5
A
回答
4
我刚刚昨天第一次使用jdb,对结果非常满意。你看,我在我的笔记本电脑上用Eclipse进行编程,然后部署到虚拟机上,以确保整个shebang仍然可用。非常偶然的情况下,我必须研究一些独立执行的东西,作为命令行。这些东西有时需要调试。
这一直是一个问题,因为我不想在VM上安装Eclipse的麻烦(它已经够慢了!),但我不知道一个简单的方法来获得它在完成运行之前连接到我的命令行运行类。
jdb来救援!它的作用很小 - 功能很小,几乎到了裸露的地步......这会迫使你更多地运用你的头脑,而不是使用这个工具(就像我说的here)。
确保打印出参考文献(solaris,windows,java 1.5 - 我认为它们都差不多),并在第二个屏幕上打开并浏览您的源代码。我希望你有第二个屏幕,否则你会很多。
-1
我更喜欢在eclipse中使用远程调试工具。
-3
JDB难以置信地难以使用。放置System.outs或使用IDE调试器将产生更好的结果。对于更有趣的功能(例如跟踪线程,堆大小等),您可以使用JConsole工具以图形方式获取信息。
+0
加多宝是那么容易,因为任何调试器来使用,这种反馈是非生产性。 此外,JConsole不允许您观察变量,设置断点,中断例外等。 – 2014-06-11 00:16:53
2
假设你的程序是由以下命令开始:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=<port> <class>
您可以通过JDB附加到这个过程:
jdb -attach <port>
相关问题
- 1. 运行命令行工具Java程序
- 2. 由java applciation调用命令行工具
- 3. 在Eclipse中远程Java调试之前运行命令
- 4. 从java执行命令行工具因命令行而异?
- 5. 命令行Powercenter测试工具
- 6. Swift:命令行工具退出回调
- 7. Java调试工具
- 8. Axis2:wsdl2java工具命令行
- 9. 在MATLAB中调试Java - 找不到jdb
- 10. 使用JDB和Gradle调试Java
- 11. 卡在调试运行远程命令的任务时冻结
- 12. 使用Zend远程调试PHP命令行脚本?
- 13. 什么是Java命令行选项设置为允许远程调试JVM?
- 14. Centos 5.5远程命令行
- 15. linux远程执行命令
- 16. 远程docker命令执行
- 17. 远程调试Java 9
- 18. AWS命令行工具破:(
- 19. IE7 javascript命令行工具
- 20. Nessus命令行工具
- 21. Deflate命令行工具
- 22. ios SDK命令行工具
- 23. 调试命令行应用程序
- 24. 如何调试C#命令行程序
- 25. Glassfish从命令行调试
- 26. 从命令行调试Django
- 27. MonoDevelop命令行调试器
- 28. Powershell远程命令
- 29. POPEN远程命令
- 30. 使用Java在远程计算机上运行命令行
正如在其他答案中通过codingME所述,您可以使用JPDA(http://docs.oracle.com/javase/1.5。 0/docs/guide/jpda/conninv.html)命令行切换,使您的Java VM侦听调试器连接。尝试suspend = y暂停执行,直到调试器连接,避免在调试器连接之前完成程序的问题。通过指定合适的端口号以及防火墙配置或SSH隧道设置,您可以通过网络连接到远程VM。例如:-agentlib:jdwp = transport = dt_socket,server = y,address = 5005,suspend = y – Neek 2012-07-24 07:14:24