This file是GoAhead WebServer的一部分,它实现了非常快的块分配方案。为什么我在这里获取内存访问冲突?
在第284行,Web服务器进程随机崩溃。
} else if ((bp = bQhead[q]) != NULL) {
/*
* Take first block off the relevant q if non-empty
*/
bQhead[q] = bp->u.next; //MEMORY ACCESS VIOLATION HERE
这有什么可能的原因?
EDIT
bp的是一个指向这个结构和联合在this header file
typedef struct {
union {
void *next; /* Pointer to next in q */
int size; /* Actual requested size */
} u;
int flags; /* Per block allocation flags */
} bType;
感谢。
你是什么?我们需要更多的信息 – Mark 2011-01-25 19:29:48
当然你已经知道可能的原因是什么。当您处理不在您的进程中的内存时,会发生AV。 – 2011-01-25 19:36:31