关于msvcr90.dll 未处理的异常 读取位置 访问冲突 的解决办法

这两天碰到一个调试问题,程序运行的过程中会弹出窗口,显示如下内容:

XX.exe 中的 0x7855ae92 (msvcr90.dll) 处未处理的异常: 0xC0000005: 读取位置 0x005ab000 时发生访问冲突

描述一下问题:

通过字符串加载文件的过程中会弹出此框,初步确定是对字符串的处理,包括内存分配有问题导致的.

 

说明一下,XX.exe程序我正在维护的程序,分为Debug,Release,ReleaseU三种版本,其中ReleaseU版本表示带调试信息的发布版本,Debug,Release版本都没有问题,只有ReleaseU版本有问题,经过多次调试和查证,最终确定了是因为ReleaseU版本的工程属性配置有错导致的问题.因为选错了运行时库,所以内存分配不一致.导致异常.

 

解决办法:

    右键打开ReleaseU工程属性,->配置属性->c/c++->代码生成->运行库,将"多线程调试 DLL (/MDd)"改为"多线程 DLL (/MD)"

    保存,重新编译.OK

你可能感兴趣的:(关于msvcr90.dll 未处理的异常 读取位置 访问冲突 的解决办法)