嗨,我的一个应用程序反复崩溃并给出以下错误。
*** -[CFString release]: message sent to deallocated instance 0x1b7a3b70
有没有办法通过使用内存地址来获取对象名称。我使用了仪器(僵尸),甚至我在 Xcode 中启用了僵尸,但没有运气。你能帮我解决这个问题吗?我卡住了,请帮帮我。
嗨,我的一个应用程序反复崩溃并给出以下错误。
*** -[CFString release]: message sent to deallocated instance 0x1b7a3b70
有没有办法通过使用内存地址来获取对象名称。我使用了仪器(僵尸),甚至我在 Xcode 中启用了僵尸,但没有运气。你能帮我解决这个问题吗?我卡住了,请帮帮我。
这显然是一个字符串。可能是 CFString,但可以从 NSString 桥接。有了这些知识,就可以使用调试器和断点了。通过断点,您可以单步执行代码,并使用 QuickLook 查看有关对象的详细信息。
大多数 Objective-C 对象没有名称。(有一些例外,比如 NSOperationQueue)。
使用静态分析器总是一个好主意,查看所有警告并修复它们等。特别是如果您的代码使用 ARC 不会自动处理的 CoreFoundation,但静态分析器通常会发现不正确的用途。
显示发生这种情况的堆栈跟踪也可能会有所帮助。