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

来源:互联网 发布:键盘打字指法软件 编辑:程序博客网 时间:2024/06/07 08:22

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

  

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



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



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



总结教训如下:

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

2、发生这个问题很多情况下是在一个工程中存在多个项目时,一会选中生成这个,一会选中生成那个,这就导致调试某个项目时,有可能该项目的生成选项没有被选中,当然断点就无法进入。

3、网上的解决方法有点扯蛋,选中允许源代码与原始版本不同,虽然可以进入断点,但是进入的是上次代码生成的exe文件和pdb文件,没有任何意义,而且会引起新的困惑:为什么我修改的代码没有得到执行。

0 0
原创粉丝点击