微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iphone – “程序接收信号:EXC_BAD_ACCESS” – 如何识别触发该行的行?

我怎样才能最容易地找到我的代码中的那个点(即“程序接收信号:EXC_BAD_ACCESS”)被触发?

当我得到这个并且我在控制台中查看时,我没有看到任何其他信息,例如在这种情况下的堆栈跟踪.我知道我可以通过代码放置断点并尝试逐步找到,但是如果有一种方法可以更容易找到没有大量断点并且逐步完成那将是很好的.

编辑1 – 重新输入backtrace(重新回答这个问题),我看到了这一点,这似乎并没有突出我代码中的重点?

(gdb) backtrace
#0  0x00fd7a63 in objc_msgSend ()
#1  0x06019780 in ?? ()
#2  0x0046cf16 in -[UISectionRowData refreshWithSection:tableView:tableViewRowData:] ()
#3  0x0046a9e7 in -[UITableViewRowData numberOfRows] ()
#4  0x003218c2 in -[UITableView noteNumberOfRowsChanged] ()
#5  0x0032e2b8 in -[UITableView reloadData] ()
#6  0x0032b470 in -[UITableView layoutSubviews] ()
#7  0x01d33451 in -[CALayer layoutSublayers] ()
#8  0x01d3317c in CALayerLayoutIfNeeded ()
#9  0x01d2c37c in CA::Context::commit_transaction ()
#10 0x01d2c0d0 in CA::Transaction::commit ()
#11 0x01d5c7d5 in CA::Transaction::observer_callback ()
#12 0x00e56fbb in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ ()
#13 0x00dec0e7 in __CFRunLoopDoObservers ()
#14 0x00db4bd7 in __CFRunLoopRun ()
#15 0x00db4240 in CFRunLoopRunSpecific ()
#16 0x00db4161 in CFRunLoopRunInMode ()
#17 0x017aa268 in GSEventRunModal ()
#18 0x017aa32d in GSEventRun ()
#19 0x002c342e in UIApplicationMain ()

解决方法

尝试在仪器中使用NSZombies.有关如何使用它的Apple WWDC视频.这应该可以帮助您确定它的来源.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐