Ubuntu系统下Java代码调试步骤完整指南与实用技巧
在Ubuntu系统上调试Java代码需先安装JDK并配置环境。推荐使用IntelliJIDEA进行图形化调试,可设置断点、单步执行、查看与修改变量。命令行工具jdb支持断点设置与调试指令。远程调试需在服务器添加JVM参数,本地IDE连接后即可操作。条件断点、异常断点等技巧能提升效率。
在Ubuntu系统上调试Java代码,其实有不少实用技巧。从环境搭建到工具选择,每一步都直接影响调试效率。下面就来梳理一下,看看有哪些高效方法可以快速上手。

一、准备工作:安装JDK与配置环境
调试的第一步,自然是把JDK配置好。Ubuntu上安装OpenJDK其实很简单,只需几条命令即可完成。以常见的17版本为例:
- 安装JDK:打开终端,依次执行
sudo apt update和sudo apt install openjdk-17-jdk,系统会自动下载并安装。 - 验证安装:运行
java -version和javac -version,如果看到类似openjdk version "17.0.10"的输出,说明环境已就绪。 - 配置环境变量(可选):如果你希望更灵活地管理Java路径,可以编辑
~/.bashrc文件,添加以下内容(记得替换成实际路径):
保存后运行export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATHsource ~/.bashrc,配置立即生效。
二、使用IDE进行图形化调试(推荐)
对于新手或者复杂项目,图形化IDE无疑是最佳选择。IntelliJ IDEA社区版免费且功能强大,下面以它为例演示调试流程。
- 安装IntelliJ IDEA:从官网下载社区版压缩包,解压后运行
idea.sh即可启动。 - 创建/导入项目:点击
Create New Project→Java,设置路径后完成创建;已有项目的话,通过File→Import Project导入。 - 设置断点:在代码编辑器中,点击目标行号左侧的空白区域(比如
int sum = add(a, b);这一行),会出现一个红色圆点,这就是断点。 - 启动调试:右键点击包含
main方法的Java文件,选择Debug '类名.main()',或者点击工具栏上的绿色虫子图标。程序会在断点处暂停,进入调试模式。 - 调试操作:
- 单步执行:
Step Into(F7)进入方法内部,Step Over(F8)跳过方法,Step Out(Shift+F8)退出当前方法。 - 查看变量:在调试窗口的
Variables标签页,可以看到当前作用域的所有变量值,鼠标悬停在变量上也能查看详情。 - 修改变量:在
Variables标签页双击变量值,直接修改,观察程序行为的变化。这个技巧在测试边界条件时特别有用。
- 单步执行:
三、使用命令行工具jdb调试
如果习惯命令行操作,JDK自带的jdb(Java Debugger)是个轻量级的选择。它没有图形界面,但足够灵活。
- 编译代码:先用
javac将Java文件编译成.class字节码,比如javac HelloWorld.java。 - 启动jdb:运行
jdb HelloWorld,进入调试会话。 - 设置断点:在jdb命令行中,用
stop at命令指定行号,例如stop at HelloWorld:7,表示在第7行暂停。 - 开始调试:输入
run启动程序,程序会在断点处停下。 - 调试命令:
- 单步执行:
step进入方法,next跳过方法。 - 查看变量:
print variableName,比如print sum。 - 继续执行:
cont,让程序继续运行,直到下一个断点或结束。 - 退出调试:
quit。
- 单步执行:
四、远程调试配置
有些场景下,Java程序运行在远程Ubuntu服务器上(比如云服务器),这时就需要远程调试。配置起来也不复杂。
- 启动远程Java程序:在服务器上运行Java程序时,添加JVM参数开启调试服务。端口默认5005,可自定义:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -cp . YourClassNameserver=y:表示当前JVM作为调试服务器。suspend=n:程序启动时不暂停。如果设为y,则需要调试器连接后才继续执行。
- 本地IDE配置:
- IntelliJ IDEA:点击
Run→Edit Configurations→+→Remote,填写Host(服务器IP)和Port(如5005),保存即可。 - Eclipse:点击
Run→Debug Configurations→Remote Java Application,同样填写Host和Port,点击Debug。
- IntelliJ IDEA:点击
- 开始远程调试:在本地IDE中点击调试按钮,连接成功后,就能像本地调试一样设置断点、查看变量了。注意网络连通性,防火墙要开放对应端口。
五、调试技巧提升效率
掌握了基础调试方法,再配合一些进阶技巧,效率能再上一个台阶。
- 条件断点:在IDE中断点视图中右键断点,可以设置条件,比如
i == 5。这样只有满足条件时才会暂停,避免在循环中一次次手动跳过。 - 异常断点:在IDE中添加上异常断点,比如
NullPointerException,当程序抛出这类异常时自动暂停,瞬间定位问题源头。 - 监视点:选中类中的某个属性,右键选择
Add Watchpoint,当属性被访问或修改时暂停。适合调试数据不一致的问题,比如多线程下的竞态条件。 - 评估表达式:调试时使用快捷键
Ctrl+Shift+D(IntelliJ IDEA)或Ctrl+Shift+I,输入表达式如list.size(),可以实时查看结果,无需修改代码。 - 修改变量值:调试过程中,直接在
Variables标签页双击修改变量值,观察不同输入下的程序行为,省去重新启动的麻烦。
总的来说,Ubuntu上调试Java代码的路径很清晰:从环境准备,到IDE或命令行调试,再到远程场景,每一步都有对应的工具和方法。掌握这些,日常开发中的问题排查会变得顺手很多。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
ThinkPHP框架搭建从安装到运行完整教程
使用ThinkPHP搭建开发框架需完成环境准备、项目初始化、配置调整与启动验证四步。环境要求PHP7 1以上及关键扩展,通过Composer创建项目,配置数据库与调试模式,最后运行内置服务器验证。生产环境应改用Nginx或Apache。
Redisson自定义注解与Spring Boot Starter自动配置方法
先说结论,整个流程的核心就三件事:用注解声明锁的行为,用切面拦截来执行加解锁,用Starter自动把客户端和切面Bean都注册好。无需手动注册,无需额外配置,统一由Starter自动化完成,大幅简化Redisson分布式锁在Spring Boot中的集成。Redisson 自定义注解与 Spring
ThinkPHP5.1结合Swoole实现毫秒级定时任务调度
在ThinkPHP5 1项目中,使用Swoole实现毫秒级定时任务调度,需在onWorkerStart回调中启动异步定时器,且仅由worker_id=0的Worker执行。前置条件包括swoole扩展4 8 0以上、协程模式优先用CoroutineTimer。通过自定义Artisan命令统一管理,适用于亚秒级响应、动态启停的深度业务场景。
ThinkPHP跨服务器迁移部署操作步骤
ThinkPHP跨服务器迁移需确保环境一致性:数据库导出加--no-definer并避免触发器干扰;PHP版本及扩展(openssl、mbstring等)严格对齐;Web服务器root指向public目录,配置伪静态规则;runtime目录清空并确保可写, env文件设置权限与访问控制。
TP6.0电子合同实现 PDF生成与水印签名技术栈
TP6 0仅作为Web框架,电子合同需依赖外部工具链。生成PDF可选用tcpdf或dompdf,前者适合结构化合同,后者适合HTML转PDF。水印需在每页底层绘制矢量文字并锁定图层,防止被移除。签名需结合CA认证和数字签名,仅插入图片不具有法律效力。
- 热门数据榜
相关攻略
2026-07-21 06:16
2026-07-21 06:15
2026-07-21 06:15
2026-07-21 06:14
2026-07-21 06:14
2026-07-21 06:14
2026-07-21 06:14
2026-07-21 06:14
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

