当前位置: 首页 > 面试题库 >

清除Java堆栈跟踪中的噪音

章飞章
2023-03-14
问题内容

我的Java堆栈跟踪中有很多我不关心的条目,它们显示了通过代理和Spring反射方法以及类似内容进行的方法调用。很难从我的代码中挑选出堆栈跟踪的一部分。Ruby
on Rails包含一个“堆栈跟踪清理器”,您可以在其中指定要从打印的堆栈跟踪中忽略的堆栈跟踪模式列表-对于Java而言,这样做的最佳方法是什么?

最好在任何地方都可以使用它,包括在Eclipse jUnit运行程序中。


问题答案:

eclipse具有首选项
Stack跟踪过滤器模式 (查看 java > junit
stacktrace在首选项中搜索)。您可以忽略包(也可以使用通配符),类或方法。适用于直接测试调用(通过 作为
junit Test
运行
),不适用于命令行运行,例如antmaven



 类似资料:
  • 当Xdebug被激活时,只要PHP决定显示通知,警告,错误等,就会显示堆栈跟踪。堆栈跟踪显示的信息以及显示方式可以根据您的需要进行配置。 Xdebug在错误情况下显示的堆栈跟踪信息量相当保守(如果display.errors 在php.ini中设置为On)。这是因为大量的信息会减慢脚本的执行速度和浏览器中堆栈跟踪本身的渲染速度。但是,可以使堆栈轨迹以不同的设置显示更详细的信息。 堆栈跟踪中的变量

  • 问题内容: 当您在Java中使用RMI时,收到异常时将在其前面添加远程堆栈跟踪,如下所示: 那种堆栈跟踪“伪造”如何完成? 我想要什么(除了被迭代)?好吧,如果我能这样做的话,它将对我有帮助: 并使其成为引发日志记录的目的,在堆栈跟踪中也将引发异常(并且方法在链的下游)。 问题答案: 这很容易: Throwable有方法和。 从我的一个项目(非开源,但也许有一天我将打开远程调用引擎): 为了您的方

  • 问题内容: 这可能是一个非常幼稚的问题。 我曾经相信Java 中的a 总是 包含堆栈跟踪。这是正确的吗? 现在看起来我捕获了 没有 堆栈跟踪的异常。是否有意义?是否 可以 在没有堆栈跟踪的情况下捕获异常? 问题答案: 无需堆栈跟踪就可以捕获Java中的Throwable对象: 构造一个具有指定详细消息,原因,启用或禁用原因,启用或禁用 可写堆栈跟踪 的新throwable 。 填写执行堆栈跟踪。此

  • 现在看来,我在没有堆栈跟踪的情况下捕获异常。有道理吗?是否有可能在没有堆栈跟踪的情况下捕获异常?

  • 问题内容: 当我从标准库中获得运行时异常时,这几乎总是我的代码而不是库代码中的问题。有没有一种方法可以截断异常堆栈跟踪,以使其不显示库包的内容? 例如,我想得到这个: 而不是这样: 问题答案: 感谢Alex的指导,以下是代码: 产生以下堆栈跟踪:

  • 在另一种情况下,经过去模糊处理后,我得到的不是正常的堆栈跟踪,而是如下所示: 是什么原因,有可能莫名其妙地从这得到一个正常的堆栈跟踪?