Search code examples
debuggingvisual-c++boostfseek

Unable to debug some code ? Strange stack with MSVC?


Sometimes I got a crash of my application with the following stack trace :

  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()

It is a memory access violation ! Unfortunately I have no idea of the problem...

For information I use VS 2008 + QT + BOOST + OpenCL

What is strange is that I know "where" the problem occur... I just have to remove a specific line of code... and no more error (But the soft doesn't do what it should :-P)

The call is on "my code" but this time I don't see my methods in the stack !!!! (I'm able to trace others code, other crashs before...)

I'm just able to show the "dissassembly" where I see my method, but not the C++ code and context !!! But why ?

If someone has an idea to help me to debug this ?

Thanks for your help


Solution

  • Each time I got this kind of stack and removing code makes it works, it was because I did a ... stack-overflow :)

    It's very probable that you have something too big on the stack.

    Check that you don't have a too big object somewhere in a function, often in the main() function. Make sure big objects (managers or things like that) are always allocated on the heap.