首页主机资讯Ubuntu Java编译时如何进行代码调试

Ubuntu Java编译时如何进行代码调试

时间2025-11-27 17:46:04发布访客分类主机资讯浏览901
导读:Ubuntu下Java编译与调试实操指南 一 环境准备与编译要点 安装JDK:sudo apt update && sudo apt install default-jdk;验证版本:java -version、javac...

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采样、内存分析与事件监控。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Java编译时如何进行代码调试
本文地址: https://pptw.com/jishu/758088.html
php-fpm配置文件结构解析 Ubuntu Java编译时依赖库如何处理

游客 回复需填写必要信息