设为首页 加入收藏

TOP

.NET/.NET Core中更清晰的堆栈跟踪
2018-03-02 06:57:18 】 浏览:161
Tags:.NET/.NET Core 清晰 堆栈 跟踪

在基于异常的语言中,堆栈跟踪是用于诊断问题最重要的工具之一。在某些情况下,开发人员能得到的仅为一条简短的错误信息以及堆栈跟踪,尤其是当个人可识别信息(PII)约束限制了日志记录的内容时。


随着任务并行库(TPL)的出现以及紧随其后的async/await函数,堆栈跟踪变得愈发难以理解。 有效信息被隐藏起来的问题并不罕见。


事实上,该提升不可小觑。 在.NET 4.5早期版本以及引入ExceptionDispatchInfo类之前,堆栈跟踪是无法跨越异步边界的,开发人员将不得不深入探究内部异常问题。但所需研究的工作远不止于此。


Illyriad游戏开发商Ben Adams自行对.NET Core 2.1中的堆栈跟踪进行了改进提升。他的工作主要集中在以下这些领域:


同时,Anirudh Agnihotry更新了Dictionary / ConcurrentDictionary所采用的KeyNotFoundException,以指出哪个关键字还未被发现,这曾是使.NET开发人员重新回到1.0版本的主要困扰。


如果您已在使用.NET Framework,或不想再继续等待.NET Core 2.1版本,那么你还可以通过调用Ben.Demystifier库以使用Ben的工作成果。这种方式可超越.NET Core更新后可满足的功能,并使堆栈跟踪代码更接近于原始C#代码,拥有更好的可读性。 (对于.NET Core而言,这并不能算是可选方式之一,因为在VB或F#堆栈跟踪中出现C#关键字意义不大)。


.NET Core是以MIT许可证发布的。 Ben.Demystifier采用Apache许可。


查看英文原文: Cleaner Stack Traces in .NET/.NET Core


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java实现二分查找算法 下一篇C++异常的几种捕获方式

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目