gpt4 book ai didi

c - malloc 错误 : incorrect checksum

转载 作者:太空宇宙 更新时间:2023-11-04 06:13:59 25 4
gpt4 key购买 nike

我正在用 C 编写代码并收到带有错误消息的 malloc 错误:

malloc: *** error for object 0x7fe9d44026d8: incorrect checksum for freed object - object was probably modified after being freed. 
*** set a breakpoint in malloc_error_break to debug

我的代码的目标是使用 read() 函数将生成的迷宫从存储迷宫的字符串存储到二维数组中。我在将迷宫读入字符串时没有遇到问题,但是当我将字符串、行数和列数作为参数传递给函数时

这个 malloc 错误到底是什么意思?我如何确定我的代码的哪一部分导致了这个错误?

最佳答案

malloc() 的实现执行 C 语言标准不需要的额外检查。在这种情况下,它似乎检测到内存块中的某些数据在被标记为空闲(通过调用 free()) 之后被修改。那是你程序中的错误。

要找到罪魁祸首,请使用内存调试工具。对于 *nix 系统,有 valgrind .在 Windows 上,您可以使用 drmemory .这些工具取代了标准库的内存管理功能,并会立即通知您有关错误的信息,例如写入一些已经是 free()d 的内存。

关于c - malloc 错误 : incorrect checksum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50130662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com