【问题标题】:C++ Exception code lookupC++ 异常代码查找
【发布时间】:2010-09-08 20:25:58
【问题描述】:

了解异常代码后,有没有办法进一步了解引发的实际异常的含义?

我有问题的例外: 0x64487347

异常地址:0x1

调用堆栈没有显示任何信息。

我正在查看崩溃的 .dmp,但实际上并未在 Visual Studio 中进行调试。

【问题讨论】:

    标签: c++ exception visual-c++ crash memory-dump


    【解决方案1】:

    Microsoft 运行时抛出的真正 C++ 异常的 SEH 代码为 0xe06d7363 (E0 + 'msc')。您还有其他一些例外情况。

    .NET 使用代码 0xe0434f4d (E0 + 'COM') 生成 SEH 异常。

    NT 的状态码记录在 ntstatus.h 中,一般从 0x80(警告)或 0xC0(错误)开始。最著名的是0xC0000005,STATUS_ACCESS_VIOLATION。

    【讨论】:

      【解决方案2】:

      因为您正在查看故障转储,所以我假设它来自客户,您无法通过更多工具轻松重现故障。

      除了注意异常代码 0x64487347 是 ASCII“dShG”之外,我没有太多帮助,开发人员在制作这样的幻数时经常使用例程或故障条件的首字母。

      在谷歌上搜索一下,在适当的上下文中找到了一个 dHsg,这是在 Google 图书搜索“使用 Visual C++ 6”中的函数名称,作者 Kate Gregory。不幸的是,仅此一项并没有帮助。

      【讨论】:

      • 酷我从来不知道异常代码中的幻数。
      【解决方案3】:

      如果您知道哪个块引发了异常,您能否在 catch 块中放置更多特定的处理程序以尝试以这种方式隔离它?

      你是否抛出了你自己滚动的异常?

      编辑:我忘了告诉你 this article 关于 Visual C++ 异常,我发现它非常有用。

      罗伯

      【讨论】:

        猜你喜欢
        • 2010-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-28
        相关资源
        最近更新 更多