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

写单元测试不行吗?

启动很慢,费时费力

断点停止的时候可以按 Alt+F8 打开计算表达式窗口,可以主动执行表达式

如果是 spring 项目可以试下 arthas 的通过 springcontext 执行任意方法。

看了看手里的 php 项目,嗯,真香
可以尝试 alt f8 吧,直接拿 application context
或者写个专门的 debug 接口,反射干所有

好东西啊,谢谢,可以看看

debug 的时候可以自己输入表达式运行的

哈,你的建议我明白,感谢

但是需要一个入口来触发 debug 。我需要一个方法帮助我触发,如果能在 idea 里面直接触发就好了。

在工程的入口处随便下个断,调用某个会触发你意图调试代码块的方法,然后光标点在你要停住的地方,然后在调试器中找到运行到光标处的按钮 (↘I )快捷键 ALT+SHIFT+9

简单来说还是需要上下文咯,那跟单元测试没有区别

debug 模式下不是有个计算器图标一样的按钮,点一下,里面写代码,可以执行

单测又不会启动 sprinh ,为啥会慢…

其实你可以看看 IDEA 官方帮助文档

idea debug 时把断点设成不 suspend ,再在断点那里加上触发逻辑就可以了

问题是依赖上下文和单测也没区别啊,还是单测写得快啊。。。

可以试下 arthas vmtool , arthas.aliyun.com/doc/vmtool

正解,而且需要把断点打在要执行的代码前,debug 到断点时能用此方法执行断点处已经加载的代码

推荐 arthas 配合 IDEA 插件,拿到 SpringContext 直接调用任意方法。

感谢,我看看

感谢,我看看