求助malloc导致崩溃!!!

aLosePig 2010-12-14 08:38:16
操作系统:winXP
cpu: Intel(R) Pentium(R) Dual CPU
RAM: 2.00GHz

IDE: VC6.0
调用形式如下:
pv = malloc(size);

崩溃时,调用栈信息:
....
NTDLL! 7c96b3a2()
NTDLL! 7c93aa2b()
_heap_alloc_base(unsigned int 17472) line 200
_heap_alloc_dbg(unsigned int 17427, int 1, const char * 0x00000000, int 0) line 378 + 9 bytes
_nh_malloc_dbg(unsigned int 17427, int 0, int 1, const char * 0x00000000, int 0) line 248 + 21 bytes
malloc(unsigned int 17427) line 130 + 21 bytes

Debug窗口输出:
Heap corruption detected at 02ECDC50
HEAP[*.exe]: HEAP: Free Heap block 2ecdc48 modified at 2ecdc58 after it was freed

...全文
1415 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
aLosePig 2010-12-16
  • 打赏
  • 举报
回复
原来是在多线程里用单线程的库导致!!
aLosePig 2010-12-15
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 luciferisnotsatan 的回复:]

char* pv = (char*)malloc(size);

代码太少了,从报的错看,是free了又free这类错误
[/Quote]
是实际项目中遇到,有几十万行啊!
aLosePig 2010-12-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 licaiyuren 的回复:]

引用 1 楼 sduxiaoxiang 的回复:
char* p =(char*)malloc(size);这种形式吧

看问题是free后又使用了该空间,查查代码


的确
[/Quote]
问题是malloc 和 free都是调库函数的,它们应能管好内存堆,
而且是在malloc时挂的,malloc应该可以使用free后的空间.
我初步怀疑是,越界的使用某一段内存,覆盖了malloc/free后的空间.
luciferisnotsatan 2010-12-15
  • 打赏
  • 举报
回复
char* pv = (char*)malloc(size);

代码太少了,从报的错看,是free了又free这类错误
mikithebest 2010-12-15
  • 打赏
  • 举报
回复
要联系上下文才知道。
licaiyuren 2010-12-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sduxiaoxiang 的回复:]
char* p =(char*)malloc(size);这种形式吧

看问题是free后又使用了该空间,查查代码
[/Quote]

的确
就想叫yoko 2010-12-14
  • 打赏
  • 举报
回复
提示信息说你free完了一个指针还在使用这个指针指向的地址
建议你在free完后加一句pv = NULL;
woods2001 2010-12-14
  • 打赏
  • 举报
回复
代码写的太挫了,要改进啊!
do__i 2010-12-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 alosepig 的回复:]
pv = malloc(size);
[/Quote]
malloc()函数返回 void *(未确定类型的指针,由我们强制转换成我们需要的类型)
开辟多大的空间,需要 sizeof(size)
所以:
fuck *pv; //随便定义的
pv=(fuck *)malloc( sizeof(size) );
wangshiyang 2010-12-14
  • 打赏
  • 举报
回复
free之后又使用,应该在申请的!
sduxiaoxiang 2010-12-14
  • 打赏
  • 举报
回复
char* p =(char*)malloc(size);这种形式吧

看问题是free后又使用了该空间,查查代码

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧