和同事一起开发的同一份程序,原来在笔记本上开发,我们两个布的环境都是一样的,而且都没有问题,然后换到了另外的台式机,我们的台式电脑都是一样的配置,布的环境也是一样的,但是我的就是不行,编译通过,然后Debug模式下的到最后就报这个错误,但是换成release模式下可以运行通过。
于是在网上开始了一系列的查找,大致分为以下几类:
- 程序中的指针指向非法越界
- 对非new申请的内存进行了delete
但为什么其他三台电脑没问题呢,而且开发的程序已经非常庞大了,不能一个一个去排除,后来猜想是不是就是我后面的这台台式机的系统本身有问题,于是想用ntdll在线修复工具进行检测修复,但是这台电脑公司进行了限制,没办法使用在线工具检测和对系统进行替换。
后来公司更新了系统,就可以跑了,这验证了我的想法,就是系统本身的问题。