有没有办法查看未分配的返回值或未分配给本地变量的异常等堆栈元素? (如抛出新的...)调试未分配给已命名变量的堆栈数据
例如,假设我有沿的线条代码:
public String foo(InputStream in) throws IOException {
NastyObj obj = null;
try {
obj = new NastyObj(in);
return (obj.read());
} finally {
if (obj != null) obj.close();
}
}
有什么办法来查看返回或异常值,而迈向更高的水平帧中它被分配?这与例外情况尤其相关,因为您经常需要通过多个帧后退来查找实际的处理程序。
我通常使用Eclipse的调试环境,但任何答案是赞赏。另外,如果这不能完成,你能解释为什么吗? (JVM,JPDA的限制?)
你的意思是这样的:http://stackoverflow.com/questions/1069066/get-current-stack-trace-in-java/1069074#1069074 – jjnguy 2010-05-26 19:17:05
以为不止一次。 Eclipse不能,AFAIK。 – 2010-05-26 19:40:28
@ Justin Nelson - No目标是查看调试器中的异常或返回值。例如如果我在finally块的某个断点处停下来的话。获取堆栈跟踪将只显示进入foo的调用路径,而不是结果。 – gibbss 2010-05-26 20:00:34