为什么在IntelliJ IDEA中使用方法断点导致这种减速?

And*_*ndy 6 debugging breakpoints intellij-idea

我一直都知道,与普通断点相比,方法断点使程序在调试器中的运行速度慢很多.

有深入了解调试器的人能用相对外行的语言解释为什么会如此?

谢谢!


UPDATE

感谢您的答复.我理解过去曾经问过几个类似的问题,但是我发现它们都没有提供详细的解释,大多数答案都指出它是"JVM设计"而没有提供进一步的细节.

我知道用简单的术语来解释这样复杂的主题并不总是那么容易,但是如果有知识的人可以尝试解释它,我将不胜感激.我想对这个主题有一点了解,而不仅仅是要避免它.

谢谢!

Bam*_*kie 10

方法断点的评估成本非常高.根据JetBrains的说法,JVM没有设置为有效地处理这个问题.

  • 我们还添加了[模拟方法断点](http://i.imgur.com/XzSccfS.png)来解决这个问题,它像往常一样有利有弊.将在2017年的`debugger.emulate.method.breakpoints`注册表项下提供. (2认同)