【发布时间】:2018-11-20 10:27:52
【问题描述】:
当堆栈跟踪中存在特定类时,Intellij 有没有办法创建条件断点?或者,在此堆栈跟踪中传递特定断点时。
给出的例子:
假设我们有一些实用方法Utils.doSomething(),我只想在从SomeClass.doSomething() 执行此方法时停止。
我知道有“在断点被命中之前禁用”,但这会使代码执行在满足初始条件后的任何时间停止。
例子:
class SomeClass {
void doSomething() {
int y = 1; // Breakpoint here
Utils.doSomething();
Utils.doSomething();
}
void doSomethingElse() {
Utils.doSomething();
}
}
static class Utils {
static void doSomething() {
int x = 1; // Breakpoint with condition here
}
}
@Test
public void test() {
SomeClass someInstance = new SomeClass();
someInstance.doSomething();
someInstance.doSomethingElse();
someInstance.doSomething();
}
int y = 1; 上的断点
条件为int x = 1;的断点
第一次从SomeClass.doSomething() 执行时,它在Utils.doSomething() 处停止,但在下一行再次执行Utils.doSomething() 时,它并没有停止。
通过SomeClass.doSomethingElse()执行时正确地不会停止
【问题讨论】:
标签: java debugging intellij-idea