今天在改一个下载的demo,在设置断点后死活不能调试,悬浮到断点那里显示”当前不会命中断点 源代码与原始版本不同“
网上找了半天,说了很多办法,包括但不限于
1、清理,重新编译
2、设置选定内容的格式
3、更改选项”要求源文件与原始版本完成匹配“
4、将编辑文件修改为”unicode“
我觉得这些方法并没有抓住问题本质,问题应该是在重新编译的时候,有些文件没有清理干净,这可能是为了编译优化。于是仔细察看了下工程文件夹,发现在执行项目清理的时候:
1、”中间目录“是清空的,并且只留了一个日志文件,这个没有问题,
2、我的解决方案有两个工程,B工程依赖于A工程输出的lib文件,但我发现在”输出目录“中,A工程的lib文件竟然是一个月前的,看来在清理解决方案的时候并没有清理这个目录中的若干文件。
于是解决办法就是:
清理输出目录中程序生成的文件(除了第三方库的lib外,其他的lib,exe都删除掉)
以上提到的”中间目录“”输出目录“都是visual sdudio中项目的”属性页“的”常规“中的对应目录
这样就完美解决了