读书人

生成core资料了!求指点

发布时间: 2012-09-22 21:54:54 作者: rapoo

生成core文件了!求指点!
smm_agent: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1)- 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long)(old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.

进程名为smm_agent。
这个是从32位移植到64位上的,只要一运行就会报次错误并生成core文件,用gdb smm_agent ; where ;后显示No Stack。

我也检查了源代码中的malloc和free函数,没有重复使用和释放的现象。 (源码引用了Poco开源库,工程中包含了C和C++的头文件)。
希望各位大侠帮我分析下,我应该从哪几个方面先入手?可能是代码中的什么问题呢?我现在正从头走读代码,痛苦啊。。。



[解决办法]
好像是内存分配的时候失败了。

读书人网 >C++

热点推荐