vc++6.0 调试时候引发中断 dbgheap.c 1044错误

vc++6.0 调试时候引发中断 dbgheap.c 1044错误,第1张

strFileName + ="\\dist\\"

strFileName + = pName //运行到这里总是d出下图所示错误 然后继续单步,出现下一张图的错误

判断一下pName是否为空

if(pName !=NULL)

strFileName + = pName

你试试 你代码不全

这种错误虽然显示File:dbgheap.c ,Line:1011 ,Expression:_Crtls ValidHeapPointer(pUserData) 但实际上是自己程序里的错误引起的。

(网上可以查到,不少人也得到这个错误)。

例如 有人 用了 delete []a就出现这种错误。

这种错误发生的语句地点比较难找。你可以插入一些输出语句,跟踪运行,找出出错地点,把有问题的句子用注解注掉,看1011行错误是否消失,再考虑解决办法。

ValidHeapPointer -- “合法的堆的指针”,堆--堆栈的“堆”,所以你的错误同“堆”有关。

看代码吧,堆分配的内存出现错误了。指针无效,提示的内容是这个错误信息应该是没有相应的源文件。

你自己在原程序里先注释掉一部分代码,看看崩溃发生在哪。这个应该是退出时发生的吧。

试试在project ->settings->category 下拉选项中选pre-compiled header

然后选Not using pre-compiled header

问题是你怎么编到了dbgheap.c去了

如果它也在工程里面, 你在选Not using pre-compiled header 那个地方,点左边的文件列表,选中该文件dbgheap.c 看看有没有改成Not using pre-compiled header


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11291974.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存