1

我有一段无法编辑的 Java 代码,我想调试它。

问题是我的 10,000 条记录中的一条存在数据错误并导致应用程序崩溃。

我可以远程调试实时应用程序并添加手表,它会在处理每个记录时获取记录的 ID。问题是当处理“坏记录”并退出方法时,手表中保存的值会丢失,所以我不知道是哪条记录导致了问题。

有什么方法可以存储/打印手表中的值

谢谢

4

2 回答 2

1

如果错误记录通过抛出异常导致您的应用程序崩溃,请尝试在该异常上放置一个断点,也许记录信息仍将在该方法的堆栈帧中可用。这个没试过,只是一个想法。祝你好运。

于 2008-12-21T04:32:08.850 回答
0

可能你可以启动你自己修改过的 Eclipse,其中包含一个watchExpressionDelegates扩展点

您将实现该委托类的类org.eclipse.jdt.internal.debug.ui.JavaWatchExpressionDelegate可能有机会做它想做的任何事情,包括记录信息。

我尚未对其进行测试,但如果您成功实施,请告诉我们。

于 2008-12-19T22:09:27.843 回答