VB   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了winforms – 在堆栈跟踪中获取VB.NET行号大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个VB.NET 2010 Winforms应用程序,我想在堆栈跟踪中包含行号.我已经阅读了以下问题和答案:

how to print out line number during application run in VB.net

其中提到“您总是需要将PDB文件与您的代码一起包含,其中包含在这种情况下使用的调试信息”.在高级编译器设置下,我已经尝试将“生成调试信息”为“pdb-only”和“full”作为我的发行版本,并确认在与EXE相同的目录中生成了一个新的PDB文件.但是,以下测试代码为每个堆栈帧生成零行数,并且不返回文件名:

Dim st As StackTrace = New StackTrace(eX)
    For Each sf As StackFrame In st.GetFrames
        MsgBox("Line " & sf.GetFileLinenumber() & sf.GetFileName)
    Next

然而,以下代码直接生成另外一个好看的堆栈跟踪,因此它似乎不是一般的异常处理程序的问题:

ExceptionDetails.Text = ex.GetType.ToString & "(0x" & hr.ToString("X8") & "): " & ex.message & vbCrLf & ex.StackTrace

我似乎没有找到项目配置中的其他任何可能的设置,并想知道是否有人有其他可能导致此问题的想法.我发现在这里和其他地方搜索的所有解决方案似乎建议确保PDB与可执行文件处于相同的路径.

从您打电话的构造函数的 documentation

尝试使用:

Dim st As StackTrace = New StackTrace(ex,TruE)

而是使用this constructor.第二个构造函数参数描述为:

大佬总结

以上是大佬教程为你收集整理的winforms – 在堆栈跟踪中获取VB.NET行号全部内容,希望文章能够帮你解决winforms – 在堆栈跟踪中获取VB.NET行号所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。