3 回答

TA貢獻1802條經驗 獲得超10個贊
看一下System.Diagnostics名稱空間。里面有很多東西!
System.Diagnostics.StackTrace t = new System.Diagnostics.StackTrace();
兜一圈學習引擎蓋下的情況,這真的很好。
我建議您看看可以實現您的目的的日志記錄解決方案(例如NLog,log4net或Microsoft模式和實踐企業庫)。祝你好運!

TA貢獻1797條經驗 獲得超6個贊
一種替代方法System.Diagnostics.StackTrace是使用System.Environment.StackTrace,它返回堆棧跟蹤的字符串表示形式。
另一個有用的選項是在Visual Studio中使用$CALLER和$CALLSTACK 調試變量,因為可以在運行時啟用它,而無需重建應用程序。

TA貢獻1864條經驗 獲得超2個贊
您也可以在Visual Studio調試器中執行此操作,而無需修改代碼。
在要查看堆棧跟蹤的位置創建一個斷點。
右鍵單擊斷點,然后在VS2015中選擇“操作...”。在VS2010中,選擇“當被點擊時...”,然后啟用“打印消息”。
確保選擇“繼續執行”。
輸入一些您想打印的文字。
在任何要查看堆棧跟蹤的位置添加$ CALLSTACK。
在調試器中運行程序。
當然,如果您在另一臺計算機上運行代碼,這無濟于事,但是能夠自動吐出堆棧跟蹤信息而又不影響發行代碼或什至無需重啟程序都非常方便。
- 3 回答
- 0 關注
- 754 瀏覽
添加回答
舉報