3 回答

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

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
一種替代方法System.Diagnostics.StackTrace是使用System.Environment.StackTrace,它返回堆棧跟蹤的字符串表示形式。
另一個(gè)有用的選項(xiàng)是在Visual Studio中使用$CALLER和$CALLSTACK 調(diào)試變量,因?yàn)榭梢栽谶\(yùn)行時(shí)啟用它,而無需重建應(yīng)用程序。

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