Не удается отладить какой-то код?Странный стек с MSVC? - PullRequest
0 голосов
/ 22 февраля 2011

Иногда я получал сбой моего приложения со следующей трассировкой стека:

  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 ++ !!!Но почему?

Если у кого-то есть идея помочь мне отладить это?

Спасибо за вашу помощь

1 Ответ

1 голос
/ 22 февраля 2011

Каждый раз, когда я получал такой стек и удаление кода заставляло его работать, это происходило потому, что я делал ... переполнение стека :)

Это очень вероятночто у вас в стеке что-то слишком большое.

Убедитесь, что у вас нет слишком большого объекта где-то в функции, часто в функции main ().Убедитесь, что большие объекты (менеджеры или тому подобное) всегда размещаются в куче.

...