有没有办法告诉调试器在返回之前停止,无论哪个语句从方法中退出,无论是返回、异常还是跌出底部?Java 编辑器向我显示了我的方法可以退出的所有位置,这使我受到启发——当您单击方法声明的返回类型时,它会突出显示它们(启用标记出现次数)。
[日食 3.4]
有没有办法告诉调试器在返回之前停止,无论哪个语句从方法中退出,无论是返回、异常还是跌出底部?Java 编辑器向我显示了我的方法可以退出的所有位置,这使我受到启发——当您单击方法声明的返回类型时,它会突出显示它们(启用标记出现次数)。
[日食 3.4]
在方法签名的行上放置一个断点。那是你写的地方
public void myMethod() {
然后右键单击断点并选择“断点属性”。在弹出窗口的底部有两个复选框:“方法入口”、“方法出口”。检查后者。
您可以设置方法断点。
双击方法声明旁边的空白处。出现带有箭头装饰的断点。右键单击以检查属性,您可以为“方法入口”和/或“方法出口”设置“暂停:”。
您可以在Eclipse Cookbook中了解更多关于它们的信息。
好问题。在我的脑海中,我会这样做:
public void method(Object stuff) {
try {
/* normal code */
} finally {
int x = 0;
}
}
您可以在 x = 0 行上设置断点,无论您返回何处,它都将始终执行。即使抛出异常,它也会运行。
问题在于范围。除非您在 try 块之外定义变量,否则您将无法在到达 finally 块的位置看到它们的值,因为它们将退出范围。
只需放置 5 个断点(每个 return 语句一个,无论如何)可能效果最好。
我希望有更好的方法,我很想知道。