Visual Studio - 调试程序断点移动,不再符合它们应该的行

Ali*_*kar 10 c++ visual-studio-2010

目前,我在视觉工作室的一个程序中看到了一个奇怪的功能.VS允许我在文件中的某些点放置断点,但是在调试模式下它将这些断点移动到空格和注释.

我已经尝试过的事情:

  1. 删除了PDB文件并重建.
  2. 删除了EXE文件并重建.
  3. 重建整个项目.(清洁,重建)
  4. 检查优化已关闭.
  5. 检查调试路径是否与构建输出路径相同.
  6. 选中"要求源文件与原始版本完全匹配"标志.

如果我的代码中只有一些奇怪的东西导致这是它发生的功能:

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;
}
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

小智 3

当我看到这样的事情时,我总是做的第一件事就是打开“调试”->“模块”窗口,并确保我正在调试的二进制文件是从我认为应该在的位置加载的。