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

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

  •  
  •   Dlin · 142 天前 · 1806 次点击
    这是一个创建于 142 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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