我试图用 C 语言编写一个程序,当我运行它时,它说
a.out: malloc.c:2617: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
我不明白这意味着什么,但是当我尝试调试时,我什至无法放置断点,因为显然“包含此断点的模块尚未加载或无法获取断点地址。”
我不知道该怎么办,非常感谢任何帮助。
我不明白这意味着什么
这意味着您的代码调用未定义行为很可能取消引用野指针或写入外部数组(或分配的内存)。此错误表明内存分配系统检测到问题。
但是当我尝试调试时,我什至无法放置断点
甚至不要尝试调试标准库函数。它们工作得很好,但你的代码却不行。这个问题的根源在于你的程序,而不是标准库函数。
不幸的是,你没有发布你的代码,所以我不能说那里出了什么问题。