阅读量:2
Ubuntu下Java编译与调试实操指南
一 环境准备与编译要点
- 安装JDK:sudo apt update && sudo apt install default-jdk;验证版本:java -version、javac -version。建议选择与项目匹配的 JDK 8/11/17/21 等LTS版本。
- 编译时建议生成调试信息:javac -g YourClass.java,便于断点、变量查看与栈追踪。
- 如使用构建工具:Maven/Gradle默认会携带调试信息;若需远程调试,后续启动参数需开启调试代理。
二 在IDE中调试
- IntelliJ IDEA:创建/导入项目 → 在代码行号左侧点下断点 → 右键选择 Debug ‘类名.main()’ → 使用 Step Over/Into/Return、观察变量与调用栈。
- Eclipse:新建 Java Project → 在行号左侧设置断点 → 右键 Debug As → Java Application → 使用单步与变量视图排查。
- NetBeans:新建 Java Application → 设断点 → 右键 Debug File 或在工具栏 Debug 启动。
- VS Code:安装 Java 扩展包(Language Support、Debugger for Java 等)→ 配置 launch.json 的调试类型(如 java)→ F5 启动。
三 命令行调试 jdb
- 编译:javac -g HelloWorld.java
- 启动:jdb HelloWorld
- 常用命令:
- 断点:stop in HelloWorld.main 或 stop at HelloWorld:7
- 运行:run
- 单步:step / next
- 打印:print a、print b
- 继续:cont
- 适用场景:服务器无图形界面、快速验证问题、学习JVM调试命令。
四 远程调试与附加到进程
- 服务端启动参数(示例端口 5005):
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar your-app.jar
如需先挂起等待调试器连接:将 suspend 设为 y。 - 客户端连接:
- IDE:创建 Remote JVM Debug 配置,Host 填服务器IP,Port 填 5005,启动即可附加。
- jdb:jdb -attach server_ip:5005。
- 适用场景:调试容器/云主机上的Java进程、无法在目标机直接使用IDE的情况。
五 进阶排错工具与技巧
- 线程与死锁:jps 查进程PID → jstack
导出线程快照,定位阻塞与死锁。 - GC与内存:jstat -gcutil
1000 观察GC频率;必要时用 jmap 导出堆转储进一步分析。 - 日志与异常栈:结合日志框架(如 SLF4J+Logback)输出关键路径日志;发生异常时从栈顶向下定位首个业务相关帧。
- IDE高级断点:条件断点、异常断点、监视点可显著提升定位效率。
- 性能分析:使用 Java Mission Control(JMC) 进行CPU采样、内存分析与事件监控。
以上就是关于“Ubuntu Java编译时如何进行代码调试”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm