iOS开发 - message sent to deallocated instance 崩溃 解决方案
一.说明
(只适用于电脑模拟器)
在做iOS开发过程中,有时候我们会遇到崩溃,并且提示类似这样的提示 :
有时候我们会毫无头绪排查,这时候如果我们想要获取更多详细的信息那么可以用终端里的malloc_history命令来解决。
二.解决步骤
1.使用模拟器运行项目,并且记住项目名比如:zhihuiyun
2.记录崩溃的内存地址比如:0x27659700
3.打开活动监视器,找出你项目的pid,并且记录下来.
4.打开你的 终端 terminal
5.输入命令:sudo malloc_history 8813 0x27659700
(8813:为进程pid 0x27659700:为崩溃内存地址)
6.获取内存对应错误信息,这时候错误信息显示比较乱,我们可以把信息复制到文本编辑软件里面,进行简单格式化一下.
7.这个就是方法堆栈调用的顺序,可以根具堆栈信息,结合错误提示,来进一步解决问题
三.问题
The target process has no stack logs. Run it with the MallocStackLogging env
可以设置下:mallocstacklogging 为YES
然后重新进行步骤
调试完,记得关闭对号