【问题标题】:Want to print StackTrace into a txt file C#想要将 StackTrace 打印成 txt 文件 C#
【发布时间】:2013-10-06 22:21:58
【问题描述】:

我希望能够将 c# 中的堆栈跟踪打印到 txt 文件,如下所述。 请注意以下内容:

  1. 我知道 Ex.Message 不会得到堆栈跟踪。我想使用 FileHandler 将 StackTrace 消息写入文本文件。
  2. FileHandler 类的内部代码并不重要。我想知道如何获取此处捕获的异常的堆栈跟踪。

    try
    
    {
    
    //some code
    
    }
    
    // I just inherit from exception class (the message member, nothing big here)
    
    catch (CustomException ex) 
    {
    
    //I want to write the stacktrace here instead of the ex.Message
    
    FileHandler.Write("DeveloperErrors.txt", "Stack Trace" + ex.Message, System.IO.FileMode.Append);
    }
    

【问题讨论】:

  • -1 表示极度缺乏研究工作。
  • 考虑使用实际的日志系统。
  • 这就是为什么我发布了以下来源中的答案。但是这些并不表示在程序中断时获取异常的当前堆栈跟踪。 Ex.StackTrace 似乎最接近
  • 你不想要当前的堆栈跟踪;你想要错误发生的堆栈跟踪。

标签: c# stack-trace file-handling


【解决方案1】:

您正在寻找 ex.StackTrace 属性的秘密。

编辑:但是,您实际上应该调用ex.ToString();这将包括消息、堆栈跟踪和 InnerException。

【讨论】:

    【解决方案2】:

    string tracktrace = System.Environment.StackTrace;

    【讨论】:

    • 没有,但是在捕获它之后将其写入文本文件会...参考 stackoverflow.com/questions/531695/…> 或 stackoverflow.com/questions/620959/getting-the-stacktrace>
    • 但这不是你想要的;它与错误无关。
    猜你喜欢
    • 1970-01-01
    • 2021-06-20
    • 2013-08-15
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多