首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取Linux上在StackTrace 6中抛出的异常的StackTrace中的行号

如何获取Linux上在StackTrace 6中抛出的异常的StackTrace中的行号
EN

Stack Overflow用户
提问于 2021-12-14 00:44:47
回答 1查看 203关注 0票数 1

我正在.NET 6框架下编译(我还在Visual中试用了.NET Core3.1) C#代码

虽然它在Windows环境下运行得非常好,但使用相同的选项,我无法在Linux (Ubuntu18.04)下获得异常的StackTrace中的行号。

present

  • installed machine

  • Deployment模式下的
  • pdb文件是 .NET 6: self-contained
EN

回答 1

Stack Overflow用户

发布于 2021-12-14 02:41:10

试试这个方法。当我需要错误发生的行号时,我写了它。

代码语言:javascript
复制
''' <summary>
''' 
''' </summary>
''' <param name="ex"></param>
Public Sub ErrorShow(ByVal ex As Exception)
    Dim Result As String
    Dim hr As Integer = Runtime.InteropServices.Marshal.GetHRForException(ex)
    Result = ex.GetType.ToString & "(0x" & hr.ToString("X8") & "): " & ex.Message & Environment.NewLine & ex.StackTrace & Environment.NewLine
    Dim st As StackTrace = New StackTrace(ex, True)
    For Each sf As StackFrame In st.GetFrames
        If sf.GetFileLineNumber() > 0 Then
            Result &= "Line:" & sf.GetFileLineNumber() & " Filename: " & IO.Path.GetFileName(sf.GetFileName) & Environment.NewLine
        End If
    Next
    Console.WriteLine(Result)
End Sub
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70342548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档