我正在调试Java代码数据库(不是我的),并且在一个类中覆盖了toString()
方法,并且它具有生成RuntimeException的副作用。当我在表达式视图中选择了对象时,我可以在Eclispe调试视图中看到堆栈跟踪。
无论如何调试从Eclipse调试器到toString()
的调用?我尝试在toString()
方法中设置断点,并在所有捕获和未捕获的RuntimeExceptions上设置了一个全局断点。但是toString()
方法中的所有断点都被忽略,Eclipse在toString()
内生成RuntimeException的行上永远不会中断。
答案 0 :(得分:0)
似乎我在Eclipse的旧Bug线程中找到了答案:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=12592
调试器在详细信息窗格中调试toString()
时禁用断点。
答案 1 :(得分:-1)
我看不出eclipse如何在重写的toString方法中调试,也许从来没有从toString抛出异常,
我预测您可能正在尝试从未实例化的变量中访问toString。
您可以更具体或更详细吗?你可以发布你的代码.. :))
更新: 我假设eclipse不会调用断点,因为即使在断点被击中之前错误也会被抛出。因此,您可能需要更改启动断点并将代码细分为行并查看其被抛出的位置。