每当在方法声明的行中添加断点时(在Intellij IDEA或Android Studio中),都会出现一个弹出窗口:

方法断点可能会大大降低调试速度

我的问题是,为什么它会大大减慢调试速度?将断点放在函数的第一行有什么不同?

谢谢!

最佳答案

I looked around a little, and saw this post in the Intellij Documetation:

方法断点      方法断点响应于程序进入或退出特定方法而起作用。它们使您可以通过希望调查的方法而不是行号来确定调试会话的目标。方法断点使您可以在方法级别关注程序流程,并检查进入和退出条件。请注意,使用方法断点可能会降低正在调试的应用程序的速度。

我猜想它会在进入方法之前就停止程序,以便您可以在进入方法之前评估参数等。

它显着减慢的原因是(这是我可以收集到的,因为这是我在Intellij文档中的方法断点上可以找到的全部),它必须:

让您在方法级别关注程序流程,并检查进入和退出条件

我想这比停止程序的执行要花更长的时间