日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET/.NET Core中更清晰的堆栈跟踪

發(fā)布時間:2023/12/4 asp.net 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET/.NET Core中更清晰的堆栈跟踪 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在基于異常的語言中,堆棧跟蹤是用于診斷問題最重要的工具之一。在某些情況下,開發(fā)人員能得到的僅為一條簡短的錯誤信息以及堆棧跟蹤,尤其是當個人可識別信息(PII)約束限制了日志記錄的內(nèi)容時。

隨著任務并行庫(TPL)的出現(xiàn)以及緊隨其后的async/await函數(shù),堆棧跟蹤變得愈發(fā)難以理解。 有效信息被隱藏起來的問題并不罕見。

事實上,該提升不可小覷。 在.NET 4.5早期版本以及引入ExceptionDispatchInfo類之前,堆棧跟蹤是無法跨越異步邊界的,開發(fā)人員將不得不深入探究內(nèi)部異常問題。但所需研究的工作遠不止于此。

Illyriad游戲開發(fā)商Ben Adams自行對.NET Core 2.1中的堆棧跟蹤進行了改進提升。他的工作主要集中在以下這些領域:

  • 消除由于async/await報警引入的噪音;

  • 顯示哪些方法重載是在異步或迭代器上下文中被調(diào)用的;

  • 同時,Anirudh Agnihotry更新了Dictionary / ConcurrentDictionary所采用的KeyNotFoundException,以指出哪個關鍵字還未被發(fā)現(xiàn),這曾是使.NET開發(fā)人員重新回到1.0版本的主要困擾。

    如果您已在使用.NET Framework,或不想再繼續(xù)等待.NET Core 2.1版本,那么你還可以通過調(diào)用Ben.Demystifier庫(https://github.com/benaadams/Ben.Demystifier)以使用Ben的工作成果。這種方式可超越.NET Core更新后可滿足的功能,并使堆棧跟蹤代碼更接近于原始C#代碼,擁有更好的可讀性。 (對于.NET Core而言,這并不能算是可選方式之一,因為在VB或F#堆棧跟蹤中出現(xiàn)C#關鍵字意義不大)。

    .NET Core是以MIT許可證發(fā)布的。 Ben.Demystifier采用Apache許可。

    原文地址:http://www.infoq.com/cn/news/2018/02/Core-Stack-Trace


    .NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

    總結

    以上是生活随笔為你收集整理的.NET/.NET Core中更清晰的堆栈跟踪的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。