本文介绍了为什么一些stacktrace在java中没有行号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的客户有一个错误,当我查看日志时,我们追踪异常,一些stacktrace没有行号:

 $ xxxx.xxx.xx.x.xx.DayIntervalRule.getInterval(DayIntervalRule.java)
xxxx.xxx.xx.x.xx.XXSchedule.getNextDueDate(XXSchedule.java)
$ $ b at xxxx.xxx.xx.x.xx.XXSchedule.evaluateRules(XXSchedule.java)

请注意:
我将包名称替换为xx),所有的类和方法都在我们的应用程序中定义:



完整的堆栈跟踪如下所示:

  java.lang.NullPointerException 
at xxxx.xxx.xx.x. xx.DayIntervalRule.getInterval(DayIntervalRule.java)
at xxxx.xxx.xx.x.xx.XXSchedule.getNextDueDate(XXSchedule.java)
at xxxx.xxx.xx.x.xx.XXSchedule。 evaluateRules(XXSchedule.java)
at xxxx.xxx.xx.x.xx.EvaluateRulesVistor.visitXXNode(EvaluateRulesVistor.java:56)
at xxxx.xxx.xx.x.xx.XXNo de.accept(XXNode.java:396)
at xxxx.xxx.xx.x.xx.AssetXX.traverseForest(AssetXX.java:351)
at xxxx.xxx.xx.x.xx. AssetXX.run(AssetXX.java:70)
at xxxx.xxx.xx.x.xx.XXEngine.doForecast(XXEngine.java:437)
at xxxx.xxx.xx.x.xx. XXEngine.forecastWorkOrders2(XXEngine.java:380)

我有兴趣为什么会发生这种情况吗?我的客户对现有代码(定制)做了些什么?

解决方案

不显示行号的代码在没有调试的情况下编译信息。


I have a bug from my customer and when I look into the log we trace the exception, some of the stacktrace do not have line number:

at xxxx.xxx.xx.x.xx.DayIntervalRule.getInterval(DayIntervalRule.java)
at xxxx.xxx.xx.x.xx.XXSchedule.getNextDueDate(XXSchedule.java)
at xxxx.xxx.xx.x.xx.XXSchedule.evaluateRules(XXSchedule.java)

Please note that:I have replace the package name into something like"xx"),and all of the class and method are defined in our application:

The full stack trace are as below:

java.lang.NullPointerException
    at xxxx.xxx.xx.x.xx.DayIntervalRule.getInterval(DayIntervalRule.java)
    at xxxx.xxx.xx.x.xx.XXSchedule.getNextDueDate(XXSchedule.java)
    at xxxx.xxx.xx.x.xx.XXSchedule.evaluateRules(XXSchedule.java)
    at xxxx.xxx.xx.x.xx.EvaluateRulesVistor.visitXXNode(EvaluateRulesVistor.java:56)
    at xxxx.xxx.xx.x.xx.XXNode.accept(XXNode.java:396)
    at xxxx.xxx.xx.x.xx.AssetXX.traverseForest(AssetXX.java:351)
    at xxxx.xxx.xx.x.xx.AssetXX.run(AssetXX.java:70)
    at xxxx.xxx.xx.x.xx.XXEngine.doForecast(XXEngine.java:437)
    at xxxx.xxx.xx.x.xx.XXEngine.forecastWorkOrders2(XXEngine.java:380)

I am interested in why this happens?Is it possible that my customer do something to the existing code(customization)?

解决方案

The code that does not display line numbers was compiled without debug information.

这篇关于为什么一些stacktrace在java中没有行号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-09 17:26