Intellij Debugger 慢:方法断点可能会显着降低调试速度
Intellij Debugger slow: Method breakpoints may dramatically slow down debugging
当我启动 intellij 调试器时,它会出现您可以在屏幕截图中看到的提示。
调试器需要很长时间才能启动。如何解决这个问题?
关闭方法断点。你可以通过 运行 查看你所有的断点 |查看断点 (Ctrl - Shift -F8 )
在 IDEA 2017.1 中引入了仿真方法断点:https://www.jetbrains.com/help/idea/using-breakpoints.html#method_breakpoint
它们允许使用方法断点而不会降低性能。
默认启用。
来自 JetBrains 团队:"Method breakpoints will slow down debugger a lot because of the JVM design, they are expensive to evaluate. Remove method breakpoints and consider using the regular line breakpoints."。参见 more。
长话短说,似乎根本问题是方法断点是通过使用JPDA的方法入口[=22=实现的] & 方法退出 功能。此实现要求 JVM 在每次 any 线程进入 any 方法和 any 线程时触发一个事件退出 any 方法。
我遵循的实用建议:
1.在应用程序启动时关闭所有断点
2. 仅在调试该流程时启用断点。
当然,如果您尝试调试在应用程序启动期间发生的某些事情,这将无济于事。
在您的代码中寻找红色菱形图标(不是红色圆圈),它们代表方法断点。您很可能在 Kotlin 中的 get()/set() 方法中设置了它们。
从调试面板关闭方法断点。
这是截图。
在我的例子中,我使用了 Android Studio,当我在 method name line
(称为 Java Method Break-Point
)上设置断点时,Android Studio 向我展示了这个警告和调试太慢了...
removing this Break-Point
我的问题解决了...
查看断点 - (Ctrl - Shift -F8 )
删除所有方法断点。
在调试模式下重新运行应用程序。
它的工作 f
当我启动 intellij 调试器时,它会出现您可以在屏幕截图中看到的提示。
调试器需要很长时间才能启动。如何解决这个问题?
关闭方法断点。你可以通过 运行 查看你所有的断点 |查看断点 (Ctrl - Shift -F8 )
在 IDEA 2017.1 中引入了仿真方法断点:https://www.jetbrains.com/help/idea/using-breakpoints.html#method_breakpoint 它们允许使用方法断点而不会降低性能。 默认启用。
来自 JetBrains 团队:"Method breakpoints will slow down debugger a lot because of the JVM design, they are expensive to evaluate. Remove method breakpoints and consider using the regular line breakpoints."。参见 more。
长话短说,似乎根本问题是方法断点是通过使用JPDA的方法入口[=22=实现的] & 方法退出 功能。此实现要求 JVM 在每次 any 线程进入 any 方法和 any 线程时触发一个事件退出 any 方法。
我遵循的实用建议: 1.在应用程序启动时关闭所有断点 2. 仅在调试该流程时启用断点。
当然,如果您尝试调试在应用程序启动期间发生的某些事情,这将无济于事。
在您的代码中寻找红色菱形图标(不是红色圆圈),它们代表方法断点。您很可能在 Kotlin 中的 get()/set() 方法中设置了它们。
从调试面板关闭方法断点。 这是截图。
在我的例子中,我使用了 Android Studio,当我在 method name line
(称为 Java Method Break-Point
)上设置断点时,Android Studio 向我展示了这个警告和调试太慢了...
removing this Break-Point
我的问题解决了...
查看断点 - (Ctrl - Shift -F8 ) 删除所有方法断点。 在调试模式下重新运行应用程序。 它的工作 f