当前不会命中断点。没法进入断点解决方法!

       近日在进行osg的学习,用vs2010时,发现一个问题,表现为:设置了断点,可是在调试时确没法进入断点,并且修改的代码没有被从新编译,提示以下图所示:学习

  

     提示中提出了解决建议,查询网上资料,基本上也是按照提示所说进行解决的,可是我按照提示的方法进行了修改,设置容许源代码与原始版本不一样,以下图所示:spa



    调试时,弹出提示对话框,以下图所示,提示源文件与模块生成的文件不一样,是否但愿调试器使用它,点击是,却发现代码修改部分没有被执行,仍然执行的之前的代码。3d



    进行仔细分析,发现网上提供的按提示进行的方法不可行。后来经仔细分析发现,原来是在生成->配置管理器中没有将当前项目(当前项目为Matrix) 的生成选项选中,以下图所示,致使每次程序调试时,程序根本就没有进行编译,而是使用之前生成的exe文件和pdb文件进行调试。将生成选项选中,可以正常进入断点、正常编译。调试



总结教训以下:blog

一、通常状况下不要选中容许源代码与原始版本不一样。选中此选项意味着你的源代码已经修改了,可是容许调试时可使用修改前的exe文件和pdb文件,那么修改后的代码就有可能没有被执行,从而让人莫名其妙。编译

二、发生这个问题不少状况下是在一个工程中存在多个项目时,一会选中生成这个,一会选中生成那个,这就致使调试某个项目时,有可能该项目的生成选项没有被选中,固然断点就没法进入。配置

三、网上的解决方法有点扯蛋,选中容许源代码与原始版本不一样,虽然能够进入断点,可是进入的是上次代码生成的exe文件和pdb文件,没有任何意义,并且会引发新的困惑:为何我修改的代码没有获得执行。程序