簡體   English   中英

如何在C#中跟蹤代碼執行

[英]How to trace code execution in C#

如何跟蹤C#應用程序的代碼執行? 有沒有可用的工具? 我的生產網站有問題。

Visual Studio中有一個稱為調試器的內置工具。

您在代碼中設置斷點並逐步執行。

.NET框架還在System.Diagnostics名稱空間中提供跟蹤類。

對於沒有代碼支持跟蹤的正在運行的應用程序,您可以使用分析器(例如redgate ANTZ分析器或JetBrains dotTrace),但這會影響性能。

如果您有內存轉儲(來自崩潰或手動引發 ),您可以使用windbg來分析轉儲。 這將包括跟蹤信息。

還有JetBrains dotTrace非常棒。

您可以在代碼中將調試信息(例如,“現在在方法1中”)寫入日志文件嗎?

您可能會發現log4netPostSharp等工具很有幫助。

您可以使用一些外部日志庫(例如Log4Net ),甚至可以使用Visual Studio執行遠程調試和單步執行代碼。

在Visual Studio 2005+中按F11而不是F5來運行應用程序。

或者您可以插入一個斷點(單擊要斷開的行的左側,以便VS顯示一個紅點)。

Visual Studio有很好的調試工具,但是如果太過分了,那么你就可以從有助於分析代碼分支的靜態代碼分析工具開始。

要跟蹤生產問題,最好的選擇是ETW跟蹤。 特別是在ASP.NET中,有內置的提供程序可以幫助識別Perf問題。

如果您使用的是Window2008,那么ETW跟蹤可以提供調用堆棧。 從IIS,文件系統,注冊表,線程和一切可能的ETW跟蹤。 這是一篇關於這個的MSDN 文章 ,為了獲得托管調用棧,我的帖子很少

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM