6

我正在努力寻找奇怪的 JSF 错误的原因。为此,我尝试调试 javaee-web-api 模块中的源代码,其中NullPointerException在 JSF 渲染期间抛出了 a 。但是我被卡住了,因为调试器没有向我显示该位置的源代码。

有一个讨论线程说 javaee-web-api 被剥离(没有方法的字节码)并且仅用于编译。

这是什么意思?有人可以更详细地解释一下吗?我想了解为什么我无法调试抛出 NullPointerException 的位置。我认为这与这些 JAR 被剥离的事实有关。

4

1 回答 1

2

通常,jar 文件中的类文件将包含与类中的代码相关的行号信息——这称为调试信息。一个剥离的罐子根本没有这个信息。

假设这是问题所在,您是正确的。您看到的堆栈跟踪不会包含与剥离 jar 中的代码相关的任何行号。由于 jar 是由第三方提供的,因此您无法获取该信息。

于 2013-07-10T16:26:54.117 回答