Ble*_*eek 4 java eclipse debugging virtual-functions
假设我们有一个带有方法onPoke(..)的抽象类.
abstract class BaseValuePanel{
void onPoke(int depth){
//blah, blah, ...
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我希望在onPoke(..)上放置一个断点,但仅在调用类EstimationValuePanel的对象时.
因为现在,如果我在onPoke(..)上放置一个断点,调试器将停止数千个实例(因为BaseValuePanel的广泛后代类),并且其中只有一个是由于EstimationValuePanel的调用.
我需要采用的断点设置的设置顺序或策略是什么,以便允许调试器仅在EstimationValuePanel调用方法时停止.
我的意思通过虚拟断点...:
也就是说,在Java而不是C#,非私有,非静态,(重写)的方法自然是虚拟的.因此,虚拟调用在这里.
当然,您可以覆盖EstimationValuePanel类中的方法,并仅在那里设置断点.
但您也可以使用条件断点:转到方法onPoke()上的断点属性(右键单击或 Ctrl +双击)并选择"条件".在下面的文本区域中,您可以输入以下条件:
this instanceof EstimationValuePanel
Run Code Online (Sandbox Code Playgroud)
这意味着每次输入方法时都会评估条件.因此,如果遇到性能问题,则应优先覆盖EstimationValuePanel中的方法.
| 归档时间: |
|
| 查看次数: |
693 次 |
| 最近记录: |