IntelliJ IDEA Debugger 经验总结 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
moqimoqide
V2EX    JetBrains

IntelliJ IDEA Debugger 经验总结

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

    把几年前的 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
    moqimoqide
        11
    moqimoqide  
    OP
       2020-11-08 10:50:56 +08:00
    itechify
        12
    itechify  
    PRO
       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
    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
    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     Solana     2477 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 01:47 PVG 09:47 LAX 18:47 JFK 21:47
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86