在.NET 中檢索堆疊追蹤:綜合指南
在許多場景中,取得堆疊追蹤資訊至關重要,即使在沒有例外。這有利於調試和理解執行流程。
引入 System.Diagnostics.StackTrace
在 .NET 中,System.Diagnostics 命名空間提供了強大的分析工具堆疊追蹤。若要檢索目前堆疊追蹤,請實例化 StackTrace 類,如下所示:
System.Diagnostics.StackTrace t = new System.Diagnostics.StackTrace();
StackTrace 類別公開大量屬性和方法,提供有關目前呼叫堆疊的詳細資訊。
記錄堆疊追蹤
要記錄堆疊追蹤,您可以呼叫 GetFrame 方法來取得一個 StackFrame 對象,它代表堆疊中的特定框架。
StackFrame frame = t.GetFrame(0); Console.WriteLine("Current Stack Trace:"); Console.WriteLine("\tMethod: {0}", frame.GetMethod()); Console.WriteLine("\tLine Number: {0}", frame.GetFileLineNumber());
替代方法
或者,您可以考慮利用 NLog 或 Enterprise Library 等日誌框架。這些框架提供全面的日誌記錄功能,包括堆疊追蹤擷取。
// NLog example var logger = LogManager.GetCurrentClassLogger(); logger.Debug("Stack Trace:\n{0}", t.ToString());
以上是如何檢索 .NET 應用程式中的堆疊追蹤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!