以下是Ubuntu中Java程序的调试技巧及工具:
一、命令行调试
- jdb工具
JDK自带命令行调试器,支持设置断点、单步执行、查看变量等操作。
步骤:
- 编译时添加
-g
参数保留调试信息:javac -g YourClass.java
。
- 启动调试:
jdb YourClass
,通过stop at
设置断点,run
启动程序,step
单步执行,print
查看变量。
- 可结合
jps
查看进程ID,jstack
分析线程堆栈。
二、集成开发环境(IDE)调试
- 图形化操作
- Eclipse/IntelliJ IDEA:
- 直接在代码行号旁点击设置断点。
- 点击“Debug”按钮启动调试会话,支持单步执行、变量查看、调用栈跟踪等。
- IntelliJ IDEA可通过“Edit Configurations”配置远程调试参数(如端口、主机)。
- 远程调试配置
- 启动远程服务时添加JVM参数:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar app.jar
。
- 本地IDE中配置远程连接(如IntelliJ的“Remote”配置),连接后即可远程调试。
三、其他工具辅助
- 日志分析
使用Log4j、SLF4j等日志框架记录程序运行状态,辅助定位问题。
- 性能监控
通过VisualVM等工具监控CPU、内存、线程等指标,排查性能瓶颈。
注意事项
- 远程调试需确保网络通畅,且仅建议在测试环境使用。
- 调试时保持本地与远程代码版本一致。