我有一个问题,一个应用程序每天为少数用户崩溃几次,我不知道是什么导致它,我得到的是这个堆栈跟踪来自乱舞:
0 libobjc.A.dylib 0x3b3ed626 _objc_msgSend + 5
1 TheApp 0x000a3c57 -[MyViewController .cxx_destruct] + 327879 (MyViewController.m:11)
2 TheApp 0x000aa4eb -[MyViewController .cxx_destruct] + 354651 (MyViewController.m:11)
3 TheApp 0x000aa4eb -[MyViewController .cxx_destruct] + 354651 (MyViewController.m:11)
4 TheApp 0x000a3c57 -[MyViewController .cxx_destruct] + 327879 (MyViewController.m:11)
5 TheApp 0x000aa4eb -[MyViewController .cxx_destruct] + 354651 (MyViewController.m:11)
6 TheApp 0x000aa4eb -[MyViewController .cxx_destruct] + 354651 (MyViewController.m:11)
7 TheApp 0x000aa3b5 -[MyViewController .cxx_destruct] + 354341 (MyViewController.m:11)
8 TheApp 0x000c462d -[MyViewController .cxx_destruct] + 461469 (MyViewController.m:11)
9 TheApp 0x000c39f7 -[MyViewController .cxx_destruct] + 458343 (MyViewController.m:11)
10 TheApp 0x000c5277 -[MyViewController .cxx_destruct] + 464615 (MyViewController.m:11)
11 libdispatch.dylib 0x3b8cb833 <redacted> + 10
12 libdispatch.dylib 0x3b8de921 <redacted> + 224
13 libdispatch.dylib 0x3b8deb21 <redacted> + 56
14 libsystem_pthread.dylib 0x3ba0dbd3 __pthread_wqthread + 298
15 libsystem_pthread.dylib 0x3ba0da98 _start_wqthread + 8
看起来它的.cxx_destruct方法被多次调用,之后somone尝试向它发送消息?为什么可以多次调用ViewControllers .cxx_destruct?
该类包含在一个位于标签栏内的UINavigationController中。
ViewController的dealloc看起来像这样:
- (void)dealloc
{
self.tableView.dataSource = nil;
self.tableView.delegate = nil;
}
已启用Arc。
答案 0 :(得分:1)
我刚刚遇到了与Gemfile
相同的错误,但我的代码看起来还不错。
然后我发现一些断点直接堆叠在[SuperClassXY .cxx_destruct]
线上。 (不知道他们来自哪里)
删除断点,一切都很好。