今天在用VS发布Release版本的过程中,碰到了一个问题,就是程序编译没有问题,但是在运行过程中出现了
根据经验,此类问题一般都是由于程序开发过程中的代码编写不规范导致内存写覆盖或者是使用了不同版本的动态库引起。
经过反复重启验证,发现出现问题的地方非常有规律,所以基本上优先排除了代码编写不规范导致内存写覆盖的原因。
然后通过分析VS中的Output信息,就近排查对应的动态库的问题,最终定位到动态库的Manifest设置问题。同事为了解决版本发布时附带的MFC库问题而修改了minifest输出,如下图
依样画葫芦,将我的所有新增动态库以及使用到的三方动态库都按照同一个规范重新设置了一遍,问题得到解决。
顺便吐槽下MFC。