IntelliJ IDEA的调试技巧
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,本篇内容介绍了"IntelliJ IDEA的调试技巧"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一
千家信息网最后更新 2025年01月31日IntelliJ IDEA的调试技巧
一、条件断点 循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。 参考上图,在断点的位置,右击断点旁边的小红点,会出来一个界面,在Condition这里填入断点条件即可,这样调试时,就会自动停在i=10的位置。
二、回到"上一步" 该技巧最适合特别复杂的方法套方法的场景,好不容易跑起来,一不小心手一抖,断点过去了,想回过头看看刚才的变量值,如果不知道该技巧,只能再跑一遍。 参考上图,method1方法调用method2,当前断点的位置j=100,点击上图红色箭头位置的Drop Frame图标后,时间穿越了。
回到了method1刚开始调用的时候,变量i变成了99,没毛病吧,老铁们,是不是很6 :)。
微信搜索 「 程序员的成长之路 」关注后回复 「 2048 」 关键字,免费获取5T技术学习资源!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。 注:好奇心是人类进步的阶梯,如果想知道为啥这个功能叫Drop Frame,而不是类似Back To Previous 之类的,可以去翻翻JVM的书,JVM内部以栈帧为单位保存线程的运行状态,drop frame即扔掉当前运行的栈帧,这样当前"指针"的位置,就自然到了上一帧的位置。 三、多线程调试 多线程同时运行时,谁先执行,谁后执行,完全是看CPU心情的,无法控制先后,运行时可能没什么问题,但是调试时就比较麻烦了,最明显的就是断点乱跳,一会儿停这个线程,一会儿停在另一个线程,比如下图: 如果想希望下一个断点位置是第2句诗句,可能要失望了:
如果想让线程在调试时,想按自己的愿意来,让它停在哪个线程就停在哪个线程,可以在图中3个断点的小红点上右击。
即:Suspend挂起的条件是按每个线程来,而非All。把这3个断点都这么设置后,再来一发试试。
注意上图中的红框位置,断点停下来时,这个下拉框可以看到各个线程(注:给线程起个容易识别的名字是个好习惯!),我们可以选择线程"天空中的飞鸟"。
断点如愿停在了第2句诗。 四、远程调试 这也是一个装B的利器,本机不用启动项目,只要有源代码,可以在本机直接远程调试服务器上的代码,打开姿势如下: 4.1 项目启动时,先允许远程调试 起作用的就是 注意:远程调试从技术上讲,就是在本机与远程建立scoket通讯,所以端口不要冲突,而且本机要允许访问远程端口,另外这一段参数,放要在-jar 或 ${main_class}的前面。 4.2 idea中设置远程调试 然后就可以调试了。
前提是本机有项目的源代码 ,在需要的地方打个断点,然后访问一个远程的url试试,断点就会停下来。 五、临时执行表达式/修改变量的运行值 调试时,可以临时执行一些表达式,参考下图:点击这二个图标中的任何1个都可以。 点击+号后,就可以在新出现的输入框里输入表达式,比如i+5。
然后回车,马上就能看到结果。
当然,如果调试时,想动态修改变量的值,也很容易,在变量上右击,然后选择Set Value,剩下的事,地球人都知道。
本篇内容介绍了"IntelliJ IDEA的调试技巧"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
java -server -Xms512m -Xmx512m -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9081 -Djava.ext.dirs=. ${main_class}
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9081
"IntelliJ IDEA的调试技巧"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
断点
线程
位置
技巧
本机
上图
变量
运行
就是
方法
条件
表达式
项目
参考
下图
代码
内容
图标
技术
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
郑州网络技术学校
软件开发遵循的原则有什么
青少年网络安全倡议书400
计算机网络技术学编程吗
本地网站如何部署到云服务器
服务器电源风扇声音大
软件开发可以去学校上班吗
2015年网络安全和信息化
六盘水网站服务器内存
服务器内网ip怎么设置
高速停车服务器
如何知道自家网络服务器是什么
电脑服务器要一直开着吗
河北大学计算机网络技术
饥荒服务器无法启动怎么解决
网络安全法 要点
设计数据库理念
驻马店软件开发简介
服务器配管理和配置视频
淄博正百软件开发有限公司
网络安全基线配置指什么
怎么开始学习网络安全
怎么处理数据库查询的安全性
网络安全隐患风险库
vba数据库出错
房管局数据库app
安卓胎压监测软件开发
服务器添加新目标
网络安全软件 破解版
应用服务器对内存