Stackifier:了解堆栈跟踪

如何理解堆栈跟踪并更快地解决错误

影像后 在用户是开发人员的用户体验中,通常会忽略开发人员体验。 至少可以说,围绕编写代码,调试,测试,监视以及整个部署过程的许多工作流和经验都非常困难。 这主要是因为需要完全控制正在发生的事情,而以使体验更流畅和更愉快为代价。 但这不一定是这样。 实际上,它不应该是这样。

这就是为什么我们决定构建Stackifier的原因,这是一个免费的在线工具,您可以在其中粘贴堆栈跟踪并加以利用。 使用可读性强的设计创建新的表示形式,以突出显示您需要提取的信息,而不会影响查看全貌。 最终压缩了可以到达数百行的永无止境的堆栈跟踪。 实际上,这只是Takipi的很小一部分,因此我们认为关注它会很有趣。

之前

堆栈跟踪

堆垛机

最小的信息损失,最大的价值

看到原始堆栈跟踪时,您的首要任务是跟踪它首次接触代码的位置。 在这种情况下从哪里抛出异常。 沿途所有第3方库都不是很有趣,因此我们按它们的顶层包装将它们分组,并按颜色区分它们。

尽管有时候您不想完全失去对这些第三方库中正在发生的事情的了解,所以我们使这些信息保持可用。 可以扩展每个分组以查看堆栈跟踪中的框架:

至于引发异常的实际帧,我们用火焰标记它。 另外,您会注意到文本更少了。 Stackifier仅显示表示堆栈跟踪中该框架的类和方法的SimpleName。 行号在每行的右侧突出显示。 比理解大量文字更有趣,有用和快速。

检出Stackifier并可视化堆栈跟踪

原木在20多年中保持完全相同

想一想所有浪费在理解或做事情上的时间,这些事情只存在一次是因为它们有意义一次,然后才是正确的解决方案,但此后一直没有发展。 您已经习惯在日志中看到堆栈跟踪,因此很容易“忘记”它们是由您正在运行的应用程序生成的,只是打印出来存储在文件中即可。

起始

当您对需要查看的帧序列进行重新查找时,您还需要寻找什么? 无论您决定在日志消息中打印出哪些信息,这些信息都可以帮助您了解这些框架的状态。 该信息也会从您的应用程序中提取。 那么,如果我们可以完全跳过日志,根本不写入文件,并拥有一个已经包含每个帧状态的智能堆栈跟踪数据结构,该怎么办? 我们可以停止使用日志,这就是我们为Java构建Takipi的原因。 Takipi是一个Java代理,它知道如何在生产中的服务器上跟踪未捕获的异常,捕获的异常以及记录错误。 它使您可以查看导致错误的变量值(遍及整个堆栈),并将其覆盖在代码中。

结论

开发人员的经验是重中之重,开发人员工具的未来看起来既聪明又美丽。 而且没有理由在任何这些参数上进行折衷。 实际上,一旦做出了这些妥协,就可以将宝贵的时间浪费在繁琐的任务上,而不是专注于创新和构建新功能。

翻译自: https://www.javacodegeeks.com/2015/08/stackifier-make-sense-of-your-stack-trace.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值