调试.vs08

1、vs2008 在调试的时候出现如下状况:

  

    关键字:“不会命中断点。源代码与原始版本不同。”(ZC:我的情况是 main.cpp里面的断点是有效的,但是执行到另一个cpp里面时 这个文件里面的断点都无效...)

  1.1、网上搜的 解决方案 都无效...  (1)、CTRL+A全选 有问题的CPP文件中所有内容,再 CTRL+K然后CTRL+F 的方案 之前还是有效的,但是这次 就无效了,还是有这个问题...

  1.2、网上看到说,将程序执行起来,然后再 附加,尝试了一下:main里面一开始就 “system("pause");”,然后 “附加到进程”,代码单步进有问题的cpp时 出现了这样一个对话框:

    

    关键字:“源文件与模块生成时的文件不同,仍要让调试器使用它吗?”

    点击“是” 即可单步进入有问题的cpp的函数中,此时虽然 原来设置的 “不会命中”的断点 仍然不会命中,但是 惊喜的发现 此时新设的断点可以命中。

2、其实,1 中我遇到的问题的解决方案 vs自己已经告诉我了... 如 1 的图中的信息:

  vs08-->工具-->选项-->调试-->常规-->要求源文件与原始版本完全匹配--> 前面的"√"去掉-->即可

  PS:我还看到了一个 高亮的我把它"√"上了,就是“为断点和当前语句突出显示整个源行”。

 2.1、我又尝试了 该文件名的方式,将 一对.h和.cpp文件 一起改了名,然后 发现 原来设置的 “不会命中”的断点 也还是不会命中,但是 单步进 有问题的cpp的函数的时候 弹出了1.2的对话框 然后现象就和1.2的一样了... 不知道 是不是我 之前 做过“附加到进程”的操作的缘故...先记录下来吧

3、在 查1.2的问题的时候,还说到了 要将 “vs08-->工具-->选项-->调试-->常规-->启用地址级调试”的"√"去掉

4、

5、

原文地址:https://www.cnblogs.com/cppskill/p/9932323.html