如何在Java程序中打开和关闭调试? 如何在不重新编译java程序的情况下打开和关闭调试程序?如何在不使用IDE的情况下调试Java程序?
回答
不使用IDE调试
1)你可以写与断言Java程序。当你想要时,你可以启用/禁用它们。
2)您可以使用配置了log4j.properties的日志。在Java程序中,只要你想,你在log4j.properties可以简单地配置您可以指定信息和调试日志当你想显示调试或信息日志 等等
我们使用记录器吗? –
轻松配置log4j-1.3alpha0.jar,log4j.properties文件和 b)org.apache.log4j.Logger logs = Logger.getLogger(MyJavaFile.class); logs.info(“这是信息日志”); logs.debug(“this debug logs”); (可以在log.info()中使用所有System.out.pritnln()示例 logs.info(“用户名”+用户名);等等...) 您可以在log4j.properties中指定: log4j.rootLogger =信息 或 log4j.rootLogger = DEBUG – Akshat
@akshat ...感谢它帮了很多...... –
使用jdb从命令行进行调试。
这就是说,我不知道“打开和关闭调试”的含义。
某些语言在编译时需要调试器支持。不像java那样在运行时。 –
对Java虚拟机的设置允许调试器例如jdb附加。 见 http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html
这是最重要的一点:
运行MyClass的在调试JVM启用:
java -agentlib:jdwp=transport=dt_shmem,address=jdbconn,server=y,suspend=n MyClass
使用JDB调试
jdb -attach jdbconn
注:这些选项设置用于连接JVM < - >通过共享内存在本地计算机上进行调试,其他有用的设置允许通过网络套接字连接到远程机器上的JVM。
原始海报真正想到的可能是:1.)打开和关闭日志输出2.)编译添加调试信息(类似于C/C++)。 – mvw
你很想帮助提问者。但是,仅在某些情况下留下只有链接的答案可能有害。虽然现在你的回答很好,但如果链接永远不会消失,你的回答就会失去它的价值。因此,如果您在回答中总结文章中的内容,这将会很有帮助。请参阅[本](http://goo.gl/wQTjc)问题的澄清。 – pascalhein
有两件事情你必须要考虑:
- 您只需编译一次代码即可获得调试信息;并且默认情况下会生成源文件和行号调试信息(documentation);
- 当您调用JVM时,是否能够调试。
对于Oracle的JVM,这组选项将允许在执行关于12345端口JDWP(Java调试线协议)(TCP)调试器插件:
-Xdebug -Xrunjdwp:server=y,suspend=n,transport=dt_socket,port=12345
注suspend=n
;如果你这样做suspend=y
,JVM将无法运行,除非你实际连接调试器...
最后,一个很好的链接解释背后JDWP角落和缝隙,JVM [DPT]我:here
Here也jdb的教程,已经被其他答案提及。
- 1. 如何在不使用IDE的情况下运行java应用程序?
- 2. 如何在不使用UI的情况下自动测试Java应用程序?
- 3. 调试Java程序。使用Netbeans IDE 7.1
- 4. 如何在Linux下使用eclipse IDE调试C应用程序
- 5. 如何在不使用IDE的情况下在Linux上运行Java项目
- 6. 如何在不使用IDE的情况下在java中包含库
- 7. 如何在不重新启动的情况下调试PyQt应用程序?
- 8. 不能在没有调试的情况下运行VC++程序
- 9. 在不使用python shell的情况下测试python程序
- 10. 如何在不调试的情况下测试methed?
- 11. 如何在不退出WP7程序的情况下使用SaveContactTask?
- 12. 在没有Eclipse IDE的情况下开发Android应用程序
- 13. 在不使用系统的情况下从perl调用java类
- 14. 如何在没有Eclipse的情况下调试Android应用程序?
- 15. 如何在没有iPhone的情况下调试iPhone应用程序?
- 16. 如何在没有调试的情况下从VC++运行应用程序?
- 17. 在Java中,如何在不调用mousePressed和mouseReleased的情况下使用mouseClicked?
- 18. 如何在不强制Java的情况下终止Java进程?
- 19. 如何在不使用showDocument的情况下从applet调用javascript?
- 20. 如何在不使用AmazonSecurityTokenServiceClient的情况下调用AssumeRoleWithSAMLAsync
- 21. 如何在不使用eval的情况下动态调用类?
- 22. 如何在不使用javascript的情况下从Asp.Net调用WebMethod
- 23. 如何在不使用IBaction/InterfaceBuilder的情况下调用UISwitch touch
- 24. 如何在不使用WebReference的情况下调用WebService?
- 25. 如何在不卸载发布应用程序的情况下调试应用程序
- 26. 在不使用IDE的情况下在java中创建.jar文件
- 27. 在Java中,如何在不使用DNS的情况下测试网络连接?
- 28. 在不重新启动的情况下调试已运行的应用程序
- 29. 如何在不减速设备的情况下调试gstreamer
- 30. 如何在不调试的情况下编译PHP扩展?
这是记录的目的。您可以轻松简单地设置日志记录状态。 –
不明确。你想要做什么?你想如何调试? – fge
我同意@HovercraftFullOfEels。使用日志记录并将日志级别设置为任何你想要的。 –