Ответ 1
Убедитесь, что файл, содержащий этот код, не имеет флагов оптимизации, которые переопределяют глобальные параметры.
В настоящее время я вижу странность в функциях в одной из моих программ в визуальной студии. VS позволяет мне помещать точки прерывания в определенные моменты в файле, но затем в режиме отладки он перемещает эти точки останова в пробелы и комментарии.
Вещи, которые я уже пробовал:
В случае, если в моем коде есть что-то нечетное, вызывающее это, это функция, в которой это происходит:
bool BManager::Record(string _strFile)
{
bool bSuccess = false;
CBitmap * bitmap = new CBitmap();
HBITMAP handle = NULL;
HPALETTE hPalette = NULL;
//LoadBitmapFromBMPFile( (LPTSTR)_strFile.c_str(), &handle, &hPalette);
ofstream out;
out.open(_strFile.c_str());
handle = (HBITMAP)LoadImage(NULL, (LPTSTR)_strFile.c_str(), IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE);
bitmap->FromHandle(handle);
bSuccess = ImageBitmap_Record(bitmap);
delete bitmap;
bitmap = NULL;
CloseHandle(handle);
return bSuccess;
}
Любые мысли?
Убедитесь, что файл, содержащий этот код, не имеет флагов оптимизации, которые переопределяют глобальные параметры.
Я нашел, что конец строки может вызвать такую проблему. Как только я случайно сменил некоторые строки из каретки стиля окна на каталоги стиля Linux, точка отладки больше не попала в строку. Что я сделал для решения проблемы, было использование notepad ++ для исправления EOL
Когда я вижу такие вещи, первое, что я всегда делаю, - это открыть окно Debug- > Modules и убедиться, что двоичная отладка была загружена из того места, которое, как я думаю, должно быть.
Вот несколько идей:
У меня была такая же проблема, и я работал над ней, создав новое "решение" в VS и импортировав в нее существующие файлы .h и .cpp.
Отладка проблем.
Я уверен, что проблема была где-то в настройках конфигурации.