Eclipse 调试器 toString() 调用
Eclipse Debugger toString() calls
我正在调试一个 Java 代码数据库(不是我的),在一个 class 中 toString()
方法被覆盖,它具有生成 RuntimeException 的副作用。当我在表达式视图中选择对象时,我可以在 Eclispe 调试视图中看到堆栈跟踪。
是否可以调试从 Eclipse 调试器到 toString()
的调用?我尝试在 toString()
方法内设置断点,并在所有已捕获和未捕获的 RuntimeExceptions 上放置一个全局断点。但是 toString()
方法内的所有断点都被忽略,Eclipse 永远不会在 toString()
.
内生成 RuntimeException 的行上中断
我看不出 eclipse 为何无法在重写的 toString 方法中进行调试,也许从未从 toString 中抛出异常,
我预测您可能正在尝试从未实例化的变量访问 toString。
能否请您更具体或详细说明?你可以 post 你的代码 .. :)
更新:
我假设 Eclipse 没有调用断点,因为甚至在命中断点之前就抛出了错误。因此您可能需要更改起始断点并将代码分解为行并查看它被抛出的位置。
看来我在 Eclipse 的旧 Bug-thread 中找到了答案:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=12592
当 toString()
被调试器在调试视图的详细信息窗格中调用时,断点被禁用。
我正在调试一个 Java 代码数据库(不是我的),在一个 class 中 toString()
方法被覆盖,它具有生成 RuntimeException 的副作用。当我在表达式视图中选择对象时,我可以在 Eclispe 调试视图中看到堆栈跟踪。
是否可以调试从 Eclipse 调试器到 toString()
的调用?我尝试在 toString()
方法内设置断点,并在所有已捕获和未捕获的 RuntimeExceptions 上放置一个全局断点。但是 toString()
方法内的所有断点都被忽略,Eclipse 永远不会在 toString()
.
我看不出 eclipse 为何无法在重写的 toString 方法中进行调试,也许从未从 toString 中抛出异常,
我预测您可能正在尝试从未实例化的变量访问 toString。
能否请您更具体或详细说明?你可以 post 你的代码 .. :)
更新: 我假设 Eclipse 没有调用断点,因为甚至在命中断点之前就抛出了错误。因此您可能需要更改起始断点并将代码分解为行并查看它被抛出的位置。
看来我在 Eclipse 的旧 Bug-thread 中找到了答案:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=12592
当 toString()
被调试器在调试视图的详细信息窗格中调用时,断点被禁用。