gpt4 book ai didi

objective-c - 如何最好地调试 objc_msgSend 中的崩溃?

转载 作者:太空狗 更新时间:2023-10-30 03:23:11 26 4
gpt4 key购买 nike

NSAutoreleasePool 耗尽时,我发生了崩溃。据推测,该池正试图释放一个已被另一段代码过早释放的对象。我遇到的崩溃发生在 objc_msgSend 中,因为它正在尝试向不再存在的对象发送消息。

给定堆栈状态,我可以使用哪些 tips/tricks/processes/gdb 命令来获取有关对象的信息和/或非法释放发生的时间点?

最佳答案

如果您有预感这是过早删除,请启用僵尸来确认您的假设,然后调试正在发生的事情。当您启用僵尸时,对象并没有真正销毁,而是设置为僵尸状态,这有助于您在调用 dealloc 后检测它们何时被访问。从 NSZombieEnabled 阅读更多内容

关于objective-c - 如何最好地调试 objc_msgSend 中的崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1324868/

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