将托管c ++程序集从VS2010升级到VS2012后,我遇到了一个非常奇怪的崩溃(Debug),它只发生在2012年的代码分支中(相同)。我有一些代码从注册表中读取并分配一个BYTE数组来存储结果。注册表调用已被注释,并不是一个因素。
DWORD nDataSize=20;
BYTE* lpValueData=new BYTE[nDataSize];
delete [] lpValueData;
我已将崩溃(cx0000005)与delete []调用隔离开来。如果我评论该函数,代码不再崩溃。