IDEA 能不能在 DEBUG 模式下手动触发某个方法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Dlin
V2EX    程序员

IDEA 能不能在 DEBUG 模式下手动触发某个方法

  •  
  •   Dlin 2022 年 5 月 18 日 3888 次点击
    这是一个创建于 1400 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这样就不需要专门写个接口或是通过其他方式来调用触发断点了。 手动触发可以极大的提升调试效率。

    21 条回复    2022-05-18 15:46:15 +08:00
    Tsukihime
        1
    Tsukihime  
       2022 年 5 月 18 日
    写单元测试不行吗?
    Dlin
        2
    Dlin  
    OP
       2022 年 5 月 18 日
    @zydxn 启动很慢,费时费力
    Bronya
        3
    Bronya  
       2022 年 5 月 18 日   2
    断点停止的时候可以按 Alt+F8 打开计算表达式窗口,可以主动执行表达式
    dddyyyttt
        4
    dddyyyttt  
       2022 年 5 月 18 日
    如果是 spring 项目可以试下 arthas 的通过 springcontext 执行任意方法。
    chendy
        5
    chendy  
       2022 年 5 月 18 日
    看了看手里的 php 项目,嗯,真香
    可以尝试 alt f8 吧,直接拿 application context
    或者写个专门的 debug 接口,反射干所有
    Dlin
        6
    Dlin  
    OP
       2022 年 5 月 18 日
    @dddyyyttt 好东西啊,谢谢,可以看看
    LeeSeoung
        7
    LeeSeoung  
      nbsp;2022 年 5 月 18 日
    debug 的时候可以自己输入表达式运行的
    Dlin
        8
    Dlin  
    OP
       2022 年 5 月 18 日
    @chendy 哈,你的建议我明白,感谢
    Dlin
        9
    Dlin  
    OP
       2022 年 5 月 18 日
    @LeeSeoung 但是需要一个入口来触发 debug 。我需要一个方法帮助我触发,如果能在 idea 里面直接触发就好了。
    LLaMA2
        10
    LLaMA2  
       2022 年 5 月 18 日
    在工程的入口处随便下个断,调用某个会触发你意图调试代码块的方法,然后光标点在你要停住的地方,然后在调试器中找到运行到光标处的按钮 (I )快捷键 ALT+SHIFT+9
    liangkang1436
        11
    liangkang1436  
       2022 年 5 月 18 日 via Android
    @Dlin 简单来说还是需要上下文咯,那跟单元测试没有区别
    cslive
        12
    cslive  
       2022 年 5 月 18 日
    debug 模式下不是有个计算器图标一样的按钮,点一下,里面写代码,可以执行
    ryanbuu
        13
    ryanbuu  
       2022 年 5 月 18 日 via iPhone
    单测又不会启动 sprinh ,为啥会慢…
    EastLord
        14
    EastLord  
       2022 年 5 月 18 日
    其实你可以看看 IDEA 官方帮助文档
    Helsing
        15
    Helsing  
       2022 年 5 月 18 日 via iPhone
    idea debug 时把断点设成不 suspend ,再在断点那里加上触发逻辑就可以了
    28Sv0ngQfIE7Yloe
        16
    28Sv0ngQfIE7Yloe  
       2022 年 5 月 18 日
    问题是依赖上下文和单测也没区别啊,还是单测写得快啊。。。
    hengyunabc
        17
    hengyunabc  
       2022 年 5 月 18 日
    可以试下 arthas vmtool ,https://arthas.aliyun.com/doc/vmtool
    dddd1919
        18
    dddd1919  
       2022 年 5 月 18 日
    @Bronya 正解,而且需要把断点打在要执行的代码前,debug 到断点时能用此方法执行断点处已经加载的代码
    co2fe
        19
    co2fe  
       2022 年 5 月 18 日
    推荐 arthas 配合 IDEA 插件,拿到 SpringContext 直接调用任意方法。
    Dlin
        20
    Dlin  
    OP
       2022 年 5 月 18 日
    @dddd1919 感谢,我看看
    Dlin
        21
    Dlin  
    OP
       2022 年 5 月 18 日
    @hengyunabc 感谢,我看看
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2494 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 16:05 PVG 00:05 LAX 09:05 JFK 12:05
    Do have faith in what you're doing.
    ubao msn 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