调试一些未打印任何堆栈跟踪的代码



所以我正在调试其他人在基于 Java 的企业软件中使用的自定义代码。根据他的文档,特定文件具有我正在研究的自定义项。我在测试服务器上部署了所有自定义文件,现在浏览器窗口一旦开始使用该代码呈现数据就会崩溃。不会打印出堆栈跟踪。有问题的自定义代码实际上并没有导致问题。这些问题是由使用从这段代码返回的数据的其他一些代码引起的。对我来说,困惑的是我真的不知道数据被返回到哪里,并且任何抛出的错误都不会打印出来。我能做些什么来弄清楚哪个文件使用此自定义代码返回的数据?

暴力破解:告诉调试器中断所有异常。

例如,在 Eclipse 中,选择菜单"运行">"添加 Java 异常断点...",键入 Exception 并选择java.lang.Exception,选中"捕获异常时挂起"和"未捕获异常时挂起",然后单击"确定"。在"断点"视图中,选择新的Exception断点并选中"此异常的子类"。

这是任何抛出Exception(不是Error(的中断。您可能会看到很多误报,这就是为什么我称之为"蛮力"方法。

如果您也想抓住Error,请更改为Throwable

最新更新