[英]Obj-c, incorrect checksum for freed object - object was probably modified after being freed
[英]malloc: *** error: incorrect checksum for freed object - object was probably modified after being freed
我的 iOS 應用程序有一個大問題:它有時會在沒有詳細調試錯誤的情況下崩潰。 堆棧跟蹤為空。 這些是堆棧跟蹤中僅有的兩行:
在com.apple.main-thread
中。
Xcode 調試器(連接設備)的錯誤:
malloc: *** error for object 0x208a7614: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
我已經使用 libsystem_c.dylib 在 malloc_error_break 中設置了一個斷點,但沒有來自調試器的任何反饋。 我不知道要解決這個問題。
要找到問題的根源,請在Xcode中轉到產品>方案>編輯方案,然后在診斷選項卡下啟用所有Malloc設置和Guard Malloc。
有了它,再次運行您的應用程序,Xcode將停在導致問題的行。
由於你在調試器中,你應該查看內存位置0x208a7614
,看看有什么。 內存中的數據可能有助於弄清楚出了什么問題。
發生的事情是以下之一:
你釋放一個物體兩次,
你正在釋放一個從未分配過的指針
您正在通過一個無效指針進行編寫,該指針先前指向已釋放的對象
由於堆棧跟蹤是空的,因此在各個位置向代碼添加一些調試日志語句可能很有用,看看是否可以縮小代碼中問題所在的位置。 使用Instruments中的內存工具也可能有所幫助。 您可以嘗試啟用NSZombies,但這看起來像是C分配問題,而不是Objective-C問題。
此外,在崩潰之前是否有其他任何內容寫入控制台? 如果是這樣,它可能會指出問題的來源。
嗨大家好我已經找到了這個解決方案,如果你正在使用nib或xib接口,當你想要推送一個viewcontroller對象時你遇到這個問題然后一段時間會發生這個錯誤,你的應用程序將崩潰(特別是iPad中的錯誤)這里是解:
//像這樣的格式
UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController:yourViewControllerObj];
[self.navigationController presentViewController:nav animated:true completion:nil];
不要試圖推動這種情況。
如果你有這個問題。 轉到:product-> scheme-> diagnosis->然后啟用mollic gaurd edge和zombie對象然后關閉然后去產品 - >停止然后再次產品構建並運行。 最好的
我有相同的問題。
我有一個 macOS 2015,big sur 11.7。
這一切都是從我更新我的 xcode 開始的。似乎 big sur 可用的最后一個 xcode 版本有一些錯誤。
調用c++和python重復的fortran代碼沒有運行
我將 xcode 降級到 12.5,以及這個 xcode 版本的命令行工具,但仍然有同樣的問題。
而且是間歇性的。 有時代碼會產生錯誤,有時不會……
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.