Thread 1: EXC_BREAKPOINT (code=1, subcode=0x198d80a08) 错误集合

时间:2024-03-29 09:04:57

代码运行过程中常会遇到内存问题:Thread 1: EXC_BREAKPOINT (code=1, subcode=0x198d80a08)

这个报错提示很笼统,各个开发人员在开发过程中遇到的问题各不相同,下面来统计集合,希望能有你的答案

(PS:有遇到不同情况的朋友可以评论或者私信我,完善这篇文章,尽可能解决这个问题)

1.没有dealloc 对象

1.1 我遇到的场景:登陆App-->退出登陆,回到登陆界面-->再登陆,报错  (如下图: )

Thread 1: EXC_BREAKPOINT (code=1, subcode=0x198d80a08) 错误集合

1.2 分析:通常这个错误提示出来,第一反应就是内存泄漏:哪个对象提前释放了,哪个对象没有被释放掉,但是一个个找真的很麻烦

1.3 解决:开启僵尸对象(Zombie Objects)来定位问题,在Xcode的菜单:Product->Scheme->Edit Scheme->RUN,

        Diagnostics ->Memory Management ->(勾选)Zombie Objects。(如下图:)

Thread 1: EXC_BREAKPOINT (code=1, subcode=0x198d80a08) 错误集合

重运行,复现错误,此时系统定位了错误且在控制台输出了相应描述,是我自己的MineViewController这个界面 (如下图:)

Thread 1: EXC_BREAKPOINT (code=1, subcode=0x198d80a08) 错误集合

再在这个页面找错误.(这里就按照自己的代码思维找了,没有捷径)

最后找到的错误是:没有释放KVO对象,KVO监听了“MineCarsStatus”, 没有在 dealloc 里释放掉:(如下图:)

Thread 1: EXC_BREAKPOINT (code=1, subcode=0x198d80a08) 错误集合

最后在dealloc 里释放 MineCarsStatus 即可。