-
-
[注意]0XC0000008错误中的一例子
-
发表于:
2014-10-17 06:38
13242
-
昨天修改了一下代码出现0XC0000008异常,调试时候一直跳出来,检查了很久没有发现问题,看网上说的一些例子,结合自己的修改总算知道其中一个例子会发生这样异常,写下本文供自己记忆整理之用。
原来总的结尾代码是下面的也一直没有问题
if (pi.hProcess)
{
TerminateProcess(pi.hProcess, 0);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);//实际上这边就异常了所以尝试半天时间看
}
if (pData->hProcess)
{
CloseHandle(pData->hProcess);
}
if(checkANSERLOG==1)//调试器到这边报异常vs调试器给一个大概地址
{
.
.
.
}
上面代码原来不报异常的。在代码之前加了2行代码
pData->hProcess=pi.hProcess;//为了多加一个检测加了这2条语句
...
CloseHandle(pData->hProcess);
结果导致后面 CloseHandle(pi.hProcess);
出现0XC0000008异常,原来CloseHandle只能关闭一次别画蛇添足再来一次那就异常了。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)