编辑:更新后的代码与新引擎收录链接,但它仍然在信息 - 停止>公民[X] - >名while循环。增加了对循环的realloc并整理了代码。任何更多的评论,将不胜感激C内存溢出(V2)
我在与内存分配溢出的一些问题
http://pastebin.com/vukRGkq9(V2)
无论我怎么努力,根本就没有足够的内存被分配用于信息 - >公民和GDB经常说它无法访问信息 - >公民[X] - >名称。
有时,我甚至会在printf语句的strlen后面直接得到KERN_INVALID_ADDRESS错误(Strlen在代码中没有用于gdb由于错误而暂停的地方,但我假定printf以某种方式使用strlen )。我认为这与结构如何分配内存有关。所以我想知道是否有人可以看看?
您是否试图尽可能缩小代码,以便只有存在问题的行?调查对我们和您来说都会容易得多。 – mouviciel 2010-10-27 13:22:14
你是什么意思,“更新的代码”?你的意思是你已经为你的问题提出了很好的答案,因为他们现在指出那些不在那里的线?哦,是的,你确实,这两个版本不同,足以包含完全不同的错误集。嗯... – 2010-10-27 14:53:53