更新: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”
文字“at”前面有三个空格,如果调试符号不可用,文字“in”和“:line”将被忽略。占位符 FullClassName、MethodName、MethodParams、FileName 和 LineNumber 将被实际值替换,定义如下:
部分 |
说明 |
---|---|
FullClassName |
类的全名,其中包括命名空间。 |
MethodName |
方法的名称。 |
MethodParams |
参数类型/名称对的列表。每个对由逗号 (,) 分隔。如果 MethodName 不带参数,则省略此信息。 |
FileName |
在其中声明 MethodName 方法的源文件的名称。如果调试符号不可用,则省略此信息。 |
LineNumber |
FileName 中某一行的行号,该行包含的源代码来自调用堆栈中指令的 MethodName。如果调试符号不可用,则省略此信息。 |
My.Applicaiton.Info.StackTrace 属性提供的功能与 StackTrace 属性类似。
示例
此示例使用 My.Application.Info.StackTrace 属性从代码执行处显示应用程序的堆栈跟踪。
MsgBox("Stack trace: " & My.Application.Info.StackTrace)
要求
命名空间:Microsoft.VisualBasic.ApplicationServices
**程序集:**Visual Basic 运行库(位于 Microsoft.VisualBasic.dll 中)
按项目类型列出的可用性
项目类型 |
可用 |
---|---|
Windows 应用程序 |
是 |
类库 |
是 |
控制台应用程序 |
是 |
Windows 控件库 |
是 |
Web 控件库 |
否 |
Windows 服务 |
是 |
网站 |
否 |
权限
以下权限可能是必需的:
权限 |
说明 |
---|---|
控制对文件路径中信息的访问。关联的枚举:PathDiscovery。 |