Conditional breakpoint by caller in Java eclipse

后端 未结 2 831
花落未央
花落未央 2021-02-14 15:06

I am trying to track a change of a value using watchpoint in a Java program in Eclipse debugger. The class hierarchy is pretty complex and the value I am tracking is wrapped in

相关标签:
2条回答
  • 2021-02-14 15:18

    It's pretty disgusting and probably slow, but you can use

    Thread.currentThread().getStackTrace()[2].getClassName().contains("A")
    

    as your breakpoint condition.

    Based on this bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=72961 I don't think Eclipse will support it directly

    0 讨论(0)
  • 2021-02-14 15:32

    Eclipse can do that. Create a breakpoint, then go into the Debug perspective and into the "Breakpoints" view. Select the breakpoint and

    There you can say enable "Conditional" and select "Suspend when value changes"

    You then have to enter your value in the field below, in your case probably "minimum".

    Edit:

    I just tried that and it didn't work as expected, but I've found another solution that might work:

    data breakpoints in java/eclipse

    In summary: Create a breakpoint in the line where your field is defined, it will become a watchpoint. In the "Breakpoint Properties" you can specify it to only suspend on change (the symbol on the margin will be a pen), not on access (symbol will be a pair of glasses).

    0 讨论(0)
提交回复
热议问题