自定义调试器作为eclipse

时间:2017-04-25 12:14:55

标签: java eclipse debugging plugins breakpoints

我正在为eclipse开发一个插件来进行自定义调试操作。 我的用例是,我将打开调试器并设置断点,但是当我访问我的ui时,调试器不应该停在我的断点,而是应该将该断点中的变量值存储到文件并继续恢复。 (我将运行一个selenium测试用例,对于每个请求,我需要将每个断点中的值存储在一个文件中进行测试)..

据我所知,我添加了一个breakpointListener,它扩展了IJavaBreakPointListener并覆盖了breakpointHit()方法

    @Override
    public int breakpointHit(IJavaThread thread, IJavaBreakpoint breakpoint) {
        // TODO Auto-generated method stub
        System.out.println("Breakpoint has been hit!!!!!!!!!!!!!!");

        /**
           I need the value of the variable at this breakpoint
         **/


        return 0;
    }

我必须将此监听器添加到JDIDebugModel ...

使用

JDIDebugModel.addJavaBreakpointListener(listener);

但我不知道我应该在哪个类中添加addJavaBreakpointListener ..这个监听器永远不会被调用..

请帮助我坚持这一点。或者为我的用例建议替代解决方案

1 个答案:

答案 0 :(得分:0)

您不必编写Eclipse插件来实现这一目标。您可以使用Breakpoint Properties。右键单击断点并在此处输入类似内容时,在上下文菜单中找到它。请注意ConditionalSuspend when true

enter image description here

这将在断点的每次命中时执行,并在file.txt附加一行。您可以访问代码段中的所有变量,因此您可以记录所需的内容。