簡體   English   中英

malloc錯誤:校驗和不正確

[英]malloc error: incorrect checksum

我正在用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()函數將生成的迷宮從存儲迷宮的字符串存儲到2D數組中。 我在將迷宮讀取到字符串中時沒有遇到麻煩,但是當我將字符串,行數和列數作為參數傳遞給函數時

此malloc錯誤到底是什么意思? 以及如何確定我的代碼的哪一部分正在創建此錯誤?

您對malloc()實現會執行C語言標准不需要的其他檢查。 在這種情況下,似乎檢測到內存塊中的某些數據在被標記為空閑之后被修改(通過調用free() )。 那是您程序中的錯誤。

要找到罪魁禍首,請使用內存調試工具。 對於* nix系統,有valgrind 在Windows上,您可以使用drmemory 這些工具取代了標准庫的內存管理功能,並會立即通知您有關錯誤的信息,例如寫入某些已經是free()內存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM