我想知道是否可以安全地使用以下代碼來確定調用方法或對象的名稱(可能還有更多信息)當前執行代碼:使用StackTrace類安全地查找當前方法的調用方
StackTrace stackTrace = new StackTrace(); // get call stack
StackFrame[] stackFrames = stackTrace.GetFrames(); // get method calls (frames)
更具體地說,有什麼特殊的/角落的情況下訪問幀將不工作或者拋出異常?
我已查看the MSDN page of StackTrace,但未發現任何可能的問題。
堆棧跟蹤不會識別你去過的地方,它會告訴你下一步要去哪裏。 – asawyer 2012-03-26 13:04:24
對不起,我喜歡在堆棧跟蹤處理代碼中進入一個遞歸循環來識別堆棧跟蹤錯誤的想法。 – KingCronus 2012-03-26 13:04:53
@asawyer,那是不可能的,它怎麼能知道? – 2012-03-26 13:12:21