【发布时间】:2011-02-22 10:19:05
【问题描述】:
有时我的应用程序崩溃并出现以下堆栈跟踪:
atiocl.dll!0f6c463a()
[Frames below may be incorrect and/or missing, no symbols loaded for atiocl.dll]
atiocl.dll!0f2ed724()
atiocl.dll!0f2ed82c()
atiocl.dll!0f2ad8cb()
OpenCL.dll!000a172c()
pureStudio.exe!__fseeki64() + 0xdec0 bytes C++
pureStudio.exe!__fseeki64() + 0x9b6f bytes C++
pureStudio.exe!__fseeki64() + 0x1f027 bytes C++
msvcr90d.dll!5af8327f()
ntdll.dll!77bb041d()
ntdll.dll!77b79d45()
这是内存访问冲突! 不幸的是我不知道这个问题......
有关信息,我使用 VS 2008 + QT + BOOST + OpenCL
奇怪的是我知道问题发生在“哪里”......我只需要删除特定的代码行......并且没有更多错误(但是软件没有做它应该做的事情:-P )
调用是在“我的代码”上,但这次我没有在堆栈中看到我的方法!!!! (我能够追踪其他代码,之前的其他崩溃......)
我只能在我看到我的方法的地方显示“反汇编”,而不是 C++ 代码和上下文!!!但为什么呢?
如果有人有想法帮我调试这个?
感谢您的帮助
【问题讨论】:
-
为您的代码调试符号?看起来它没有任何符号,因为它只显示函数的地址......
-
奇怪的是我有“调试符号”!我能够毫无问题地跟踪和调试我的代码,即使当我显示“模块”窗口时,我看到“符号已加载”!嗯......堆栈上的东西太大了......可能......但我没有参数,我启动/停止同一个线程很多时间。我还分配了一个 160 字节的缓冲区...很多次...但是在新分配之前我删除了前一个!
标签: debugging visual-c++ boost fseek