My.Application.Info.StackTrace 屬性
更新:2007 年 11 月
取得目前的堆疊追蹤資訊。
' Usage Dim value As String = My.Application.Info.StackTrace ' Declaration Public ReadOnly Property StackTrace As String
傳回值
String 包含目前的堆疊追蹤資訊。傳回值可以是 Empty。
例外狀況
下列條件可能造成例外狀況:
- 所要求的堆疊追蹤資訊超出範圍 (ArgumentOutOfRangeException)。
備註
My.Application.Info.StackTrace 屬性會以反向的時間順序列出方法呼叫。這表示會先描述最新的方法呼叫,並於個別行中列出堆疊上的每個方法呼叫。不過,My.Application.Info.StackTrace 屬性可能不會報告如預期一樣多的方法呼叫,這是因為在最佳化期間發生的程式碼轉換所造成的。
堆疊追蹤資訊一般是用在偵錯應用程式。
每個方法呼叫的堆疊追蹤資訊都會採用下列格式:
"at FullClassName.MethodName(MethodParams) in FileName:line LineNumber "
常值 (Literal) "at" 前面會加上三個空格,而如果無法使用偵錯符號,則會省略常值 "in" 和 ":line"。會以實際值取代替代符號 (Placeholder) FullClassName、MethodName、MethodParams、FileName 和 LineNumber,定義如下:
參數 |
描述 |
---|---|
FullClassName |
類別的完整名稱,包括命名空間。 |
MethodName |
方法的名稱。 |
MethodParams |
參數型別/名稱組的清單。以逗號 (,) 分隔每一組。如果 MethodName 使用零參數,則會省略此資訊。 |
FileName |
宣告 MethodName 方法之原始程式檔 (Source File) 的名稱。如果無法使用偵錯符號,則會省略此資訊。 |
LineNumber |
FileName 中的行數,其中包含 MethodName 的原始程式檔 (適用於呼叫堆疊上的指令)。如果無法使用偵錯符號,則會省略此資訊。 |
My.Applicaiton.Info.StackTrace 屬性提供類似 StackTrace 屬性的功能。
範例
這個範例會使用 My.Application.Info.StackTrace 屬性,顯示執行程式碼時的應用程式堆疊追蹤。
MsgBox("Stack trace: " & My.Application.Info.StackTrace)
需求
命名空間︰Microsoft.VisualBasic.ApplicationServices
類別︰AssemblyInfo
組件:Visual Basic 執行階段程式庫 (在 Microsoft.VisualBasic.dll 中)
依專案類型的可用性
專案類型 |
是否可用 |
---|---|
Windows 應用程式 |
是 |
類別庫 |
是 |
主控台應用程式 |
是 |
Windows 控制項程式庫 |
是 |
Web 控制項程式庫 |
否 |
Windows 服務 |
是 |
網站 |
否 |
使用權限
下列使用權限可能為必要:
使用權限 |
描述 |
---|---|
控制存取檔案路徑資訊的能力。關聯的列舉型別:PathDiscovery。 |