c++ - 如何处理 C++ 异常 3765269347

标签 c++ windows visual-studio exception runtime-error

我正在开发一个多线程应用程序,它通常运行良好。

现在看来子线程正在崩溃,通过配置 Visual Studio 以抛出 C++ 异常,我发现了以下有关异常的信息:

ExceptionCode : 3765269347
ExceptionFlags : 1
ExceptionRecord : <NULL>
ExceptionAddress : 0x0000...0
NumberOfParameters : 4
params:
  magicNumber : 429065504
  pExceptionObject : 0x... (some memory address)
  pThrowInfo : 0x... (some memory address) 
               {<application.exe>_Tl3?AVC_IOException@@ ...
    attributes : 0
    pmfnUnwind : 470560
    pForwardCompat : 0
    pCatchableTypeArray : 6451800
  pThrowImageBase : 0x... (some memory address) 
                    {<application.exe>_IMAGE_DOS_HEADER_ImageBase}

(我尽量抄的好,有错别喷)

我一直在互联网上寻找提到的异常代码,但我不明白其中的解释,我搜索了提到的 AVC_IoException 但我没有找到任何东西。有人知道我在这里能做什么吗?

供您引用,当我尝试将某些内容写入缓冲区时抛出异常(供您引用,此缓冲区不是 NULL),它似乎与任何 DLL 文件的加载无关(我已经把在每个 loadlibrary() 函数处设置断点,但没有一个被调用)。

特此这段代码(这是一个递归函数,将一些东西写入缓冲区):

  virtual void fillBuffersBeforeWrite(const <internal_struct>* pDsp, 
                                      size_t nByteCount)
  {
    <internal_class>* w = writer();
    if (w && (w != this)) {
      w->fillBuffersBeforeWrite(pDsp, nByteCount);
    }
  }

提前致谢

最佳答案

try catch 抛出异常的代码: 在 MS Visual Studio 2015 中,调试 -> Windows -> 异常设置,选择“C++ 异常”,右键单击“添加异常”,插入异常类型 - “AVC_IoException";还标记其他常见异常类型 - std::exception、CException 等。 调试器将在抛出异常的地方停止。您可以分析堆栈。请注意,您可能需要跳过(即要求调试器继续)不相关的异常。 保留所有 3d 方的调试版本也是一个好主意,包括 C++/C 运行时和操作系统。

关于c++ - 如何处理 C++ 异常 3765269347,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40651101/

相关文章:

c++ - 使 C++ 对象数组在 Python 中可迭代

windows - ExifReader.ReadJpeg 问题

c++ - 重载强制转换运算符继承 (Visual C++)

Windows 批处理脚本提供参数

visual-studio - Visual Studio 2010 beta 1 是否可用?

c++ - 分析一个 dll 插件

c++ - 如何比较C++中的字符串?

c++ - 这是在 std::vector 中存储、迭代和删除指针的好方法吗?

c++ - 两台机器之间时间戳的最佳 C++ 计时函数是什么

javascript - 如何使用 IWebBrowser2 修复应用程序中的 JavaScript 错误?