代码之家  ›  专栏  ›  技术社区  ›  anchandra

有问题吗环境.StackTrace

  •  0
  • anchandra  · 技术社区  · 16 年前

    Environment.StackTrace 信息。

    写入事件日志会引发一个没有文本消息的异常

    Message: 
    CallStack -    at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
           at System.Environment.get_StackTrace()
           at <my method that writes in the event log>
    

    你知道为什么会这样吗?

    2 回复  |  直到 16 年前
        1
  •  2
  •   Chris Amelinckx    12 年前

    @anchandra我不知道你是否从那以后就明白了,因为这已经4岁了。

    那么,为什么环境.StackTrace引发异常?

    首先是最无趣的答案: 正如您在对属性的MSDN引用中所看到的,如果“请求的堆栈跟踪信息超出范围”,它可能会抛出ArgumentOutOfRangeException。请注意,执行上下文必须具有系统安全权限.环境许可。

    它不会抛出异常!是的,这就是发生在我身上的事情,它实际上返回了一个堆栈跟踪,开始列出对的调用环境.StackTrace就像“在System.Environment.get\u堆栈跟踪()”然后显示了所有其他调用方法。 因为我把它记录到一个审计日志中,如果你看一下,你会认为在堆栈的最后一帧发生了一个异常,但那不是真的,我只是碰巧在那一点上请求了一个堆栈跟踪,并将它粘贴到我的错误日志中,一旦我意识到这一点,我就非常愚蠢。

        2
  •  0
  •   leppie    16 年前

    在移动到单独的线程之前,需要捕获stacktrace。

    Stacktrace

    推荐文章