V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
moqimoqide
V2EX  ›  JetBrains

IntelliJ IDEA Debugger 经验总结

  •  1
     
  •   moqimoqide · 2020-11-08 09:39:19 +08:00 · 4029 次点击
    这是一个创建于 1255 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    🍻🍻🍻

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

    第 1 条附言  ·  2020-11-08 12:20:04 +08:00
    补充一个此文的公众号文章链接,目前只有这一篇文章,方便大家分享,谢谢。

    🍻🍻🍻

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

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

    3,设置变量值 /复制变量值
    moqimoqide
        13
    moqimoqide  
    OP
       2020-11-08 11:13:15 +08:00
    @oneisall8955 #12 🍻 谢谢补充。
    zxhy
        14
    zxhy  
       2020-11-08 12:15:57 +08:00
    贴个 webstorm 的,应该通用。
    WebStorm 有哪些过人之处? - 知乎 https://www.zhihu.com/question/20936155/answer/1466584540
    SD10
        15
    SD10  
       2020-11-08 12:25:31 +08:00
    感谢 学习了
    moqimoqide
        16
    moqimoqide  
    OP
       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
        17
    moqimoqide  
    OP
       2020-11-08 12:34:39 +08:00
    @SD10 #15 🍻
    lzk50136
        18
    lzk50136  
       2020-11-08 12:35:19 +08:00 via Android
    厉害👍
    ningmengmao
        19
    ningmengmao  
       2020-11-08 13:56:41 +08:00 via Android
    学到了
    zhou00
        20
    zhou00  
       2020-11-08 14:35:27 +08:00
    学到了,谢谢
    moqimoqide
        21
    moqimoqide  
    OP
       2020-11-08 14:57:36 +08:00 via iPhone
    @lzk50136 🍻
    moqimoqide
        22
    moqimoqide  
    OP
       2020-11-08 14:57:52 +08:00 via iPhone
    moqimoqide
        23
    moqimoqide  
    OP
       2020-11-08 14:58:09 +08:00 via iPhone
    @zhou00 🍻
    daimubai
        24
    daimubai  
       2020-11-08 20:28:33 +08:00
    有用,谢谢🍺
    moqimoqide
        25
    moqimoqide  
    OP
       2020-11-08 21:16:34 +08:00
    @daimubai #24 🍻
    asdfa
        26
    asdfa  
       2020-11-09 17:25:15 +08:00
    学习了
    moqimoqide
        27
    moqimoqide  
    OP
       2020-11-09 17:34:09 +08:00
    @asdfa #26 🍻
    EastLord
        28
    EastLord  
       2020-11-21 14:29:28 +08:00
    学到了
    moqimoqide
        29
    moqimoqide  
    OP
       2020-11-21 16:47:11 +08:00
    @EastLord #28 🍻
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2982 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:16 · PVG 23:16 · LAX 08:16 · JFK 11:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.