2010-01-28 90 views

回答

1

您可以在您的代碼中將調試信息(例如「now at method 1」)寫入日誌文件嗎?

您可能會找到像log4netPostSharp這樣的工具很有幫助。

1

您可以使用一些外部日誌庫(如Log4Net),甚至可以使用Visual Studio在代碼中執行遠程調試和步驟的功能。

8

在visual studio中有一個內置工具,名爲debugger

您在代碼中設置了斷點並逐步完成。

.NET框架還在System.Diagnostics命名空間中提供了tracing類。

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

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

+0

Fredrik,有選項提供跡線開關寫出信息,無論發佈/調試版本和遠程調試選項。 – Ian 2010-01-28 12:09:17

+0

@Ian:我的評論並不完全正確,所以我刪除了它並且提高了intead(當我實際閱讀完整的答案時) – 2010-01-28 12:10:12

+0

+1提到了內置的跟蹤日誌支持;我經常發現引入外部日誌記錄庫是過分的。 – 2010-01-28 12:13:13

4

還有JetBrains dotTrace這是優秀的。

0

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

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

0

Visual Studio擁有很棒的調試工具,但是如果這太糟糕了,那麼您可以從靜態代碼分析工具開始,它有助於分析代碼分支。

0

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

如果您使用的是Window2008,那麼ETW跟蹤可以給出調用堆棧。有從IIS,文件系統,註冊表,線程和一切可能的ETW跟蹤。這裏是一個MSDN article在這個,並獲得託管的電話棧我有幾個posts