2011-04-12 140 views
1

我的servlet正在抛出NullPointerException。我想显示完整的堆栈调用跟踪,以便我可以找出正在抛出异常的行号。从NullPointerException获取堆栈跟踪

我该怎么做?我已经使用fillInStackTrace()。它不打印行号。

+2

AFAIK堆栈跟踪应该在运行时异常中自动填充,您不需要做任何特定的操作。你能发布实际的代码来显示异常堆栈跟踪吗? – 2011-04-12 09:33:14

+0

是否要显示在服务器控制台\日志中或作为对客户端/浏览器的响应的一部分? – anirvan 2011-04-12 09:33:52

+0

作为回应的一部分。应该出现在页面上。 – prometheuspk 2011-04-12 10:05:47

回答

6

您是否尝试过使用e.printStackTrace()

1

假设你正在踪迹不带行号(这是什么的问题的最后一句似乎在说),那么问题是,你的代码已经没有调试信息编译。您将需要重新编译它...

  • 如果您使用Maven构建,您应该默认获取调试信息。检查java插件配置中的maven.compile.debugmaven.compile.debuglevel属性;看http://maven.apache.org/maven-1.x/plugins/java/properties.html

  • 如果你使用Ant构建,请确保<javac>任务具有debug='true'并检查debuglevel属性。

  • 如果您正在通过运行javac目录构建,则应该默认获取行号。根据javac manual page检查-g选项。