IntelliJ IDEA Debugger 经验总结

2020-11-08 09:39:19 +08:00
 moqimoqide

把几年前的 Blog 录制成视频了,面向 IDEA 新人介绍 IDEA Debugger 的一些经验,包括如下内容:分析外部堆栈跟踪、返回到前一个堆栈帧、强制从当前方法返回、抛出一个异常、重新加载修改的类、分析 Java Stream 操作。

🍻🍻🍻

https://www.youtube.com/watch?v=H-nIkSJ_1Bc

4267 次点击
所在节点    JetBrains
29 条回复
moqimoqide
2020-11-08 09:49:17 +08:00
麻烦问一下老铁们,为什么 Youtube 的链接不会直接显示为视频呢?是必须用 Markdown 的语法写吗?
madNeal
2020-11-08 09:52:36 +08:00
有几个 tip 还蛮实用的,以前还不太了解,赞
moqimoqide
2020-11-08 10:02:15 +08:00
@madNeal #2 谢谢😁
zhazi
2020-11-08 10:04:33 +08:00
点赞 有学习到
moqimoqide
2020-11-08 10:28:30 +08:00
@zhazi #4 🍻
dethan
2020-11-08 10:29:11 +08:00
点赞 都是很实用且能提升逼格的操作~
ebony0319
2020-11-08 10:37:00 +08:00
不错,前面几个我全部都不会,以为 idea 没有。
fanjianhang
2020-11-08 10:49:33 +08:00
学习了
moqimoqide
2020-11-08 10:50:23 +08:00
@dethan #6 🍻
moqimoqide
2020-11-08 10:50:40 +08:00
@ebony0319 #7 🍻
moqimoqide
2020-11-08 10:50:56 +08:00
@fanjianhang #8 🍻
oneisall8955
2020-11-08 11:03:14 +08:00
不错不错,很实用。另外还有几个常用的:
1,带条件的 debug 。在断点的地方右键,添加断言逻辑,当满足断言条件,才进入这个断点

2,计算表达式 Evaluate Expression,可以执行当前栈帧的变量的一些方法

3,设置变量值 /复制变量值
moqimoqide
2020-11-08 11:13:15 +08:00
@oneisall8955 #12 🍻 谢谢补充。
zxhy
2020-11-08 12:15:57 +08:00
贴个 webstorm 的,应该通用。
WebStorm 有哪些过人之处? - 知乎 https://www.zhihu.com/question/20936155/answer/1466584540
SD10
2020-11-08 12:25:31 +08:00
感谢 学习了
moqimoqide
2020-11-08 12:33:52 +08:00
@zxhy #14 🍻 谢谢补充。

是的,大部分功能 JetBrains 产品通用,但 IntelliJ Debugger 部分受限于 HotSwap 目前还是建构在 JVM 之上语言独享。

当然,HotSwap 也有限制,具体可以参考 [HotSwap limitations]( https://www.jetbrains.com/help/idea/altering-the-program-s-execution-flow.html#limitations)

关于 HotSwap 的深入探讨可以参考周志明老师的《深入理解 JVM 》,这是我补充的一个 issue: [HotSwap 用在 IntelliJ IDE 、Eclipse 这些 IDE 上做 HotSwap 倒是非常的合适]( https://github.com/fenixsoft/jvm_book/issues/76)

目前 Oracle 的 [GraalVM]( https://github.com/oracle/graal) 项目正在为 Python, R, Node.js, JavaScript, C, C++ 等提供相对应的 VM 支持,或许后面我们可以在其他语言上进行这些方便的 Debugger 操作。
moqimoqide
2020-11-08 12:34:39 +08:00
@SD10 #15 🍻
lzk50136
2020-11-08 12:35:19 +08:00
厉害👍
ningmengmao
2020-11-08 13:56:41 +08:00
学到了
zhou00
2020-11-08 14:35:27 +08:00
学到了,谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/722833

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX