首頁 >後端開發 >C++ >如何在 .NET 中記錄堆疊追蹤而不出現異常?

如何在 .NET 中記錄堆疊追蹤而不出現異常?

Barbara Streisand
Barbara Streisand原創
2025-01-05 01:12:41895瀏覽

How Can I Log a Stack Trace in .NET Without an Exception?

在沒有異常的情況下在.NET 中記錄堆疊追蹤

偵錯程式碼時,列印目前堆疊追蹤對於理解程式流程和追蹤識別問題。但是,在沒有發生異常的情況下,使用 try-catch 區塊或 Exception.StackTrace 屬性的標準方法將無法運作。

解決方案

要無異常地列印當前堆疊跟踪,請使用System.Diagnostics.StackTrace 類別:

System.Diagnostics.StackTrace t = new System.Diagnostics.StackTrace();

t 將包含有關當前執行的方法及其呼叫者等的信息,直到程式的入口點。

範例

考慮以下程式碼:

public void executeMethod()
{
    logStackTrace();
    method();
}

如果我們呼叫executeMethod()然後列印堆疊追蹤,我們會看到一些東西例如:

at executeMethod() in C:\Path\To\MyCode.cs:line 10
at method() in C:\Path\To\MyCode.cs:line 15
at Program.Main() in C:\Path\To\MyMain.cs:line 20

此追蹤向我們顯示了呼叫堆疊,即使沒有發生異常。

其他資源

用於進一步的調試工具,探索 System.Diagnostics 命名空間。 NLog、log4net 和 Enterprise Library 等日誌框架提供了全面的日誌解決方案,包括擷取堆疊追蹤的能力。

以上是如何在 .NET 中記錄堆疊追蹤而不出現異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn