【发布时间】:2015-06-30 21:59:24
【问题描述】:
我想知道是否有人知道在调试我的 iOS 程序时如何追溯 dispatch_async 之外的内容。我的程序在两个地方经常崩溃:在buffer_is_unused中,如和所示, 并在release_shmem_bitmap中,如和所示。这些都不会发生在主线程上,而在线程本地堆栈上,除了一些 dispatch_async 和 pthread 作业之外几乎什么都没有。鉴于我的 XCode 配置,它几乎没有给我关于谁调用了这个 dispatched_async 的信息。我用谷歌搜索“release_shmem_bitmap”,发现网上只有几个网页,没有一个有用。我想知道是否有人知道我怎样才能让 Xcode 显示谁调用了这些 dispatch_async 或者一般来说我应该如何修复这种崩溃?
【问题讨论】:
-
请发布您的堆栈跟踪
-
@Zolnoor 线程视图不是堆栈跟踪吗?你是说 po [NSThread callstackSymbols] 的输出吗?
-
不,兄弟,它看起来像这样imgur.com/Voq04M2
-
@Zolnoor 嗨,是的,我真的很想得到那种堆栈跟踪,但是我怎样才能得到呢?我搜索了“如何获取 iOS stracktrace”,答案(如 stackoverflow.com/questions/220159/…)只说“[NSThread callstackSymbols]”,其输出不是很有帮助。
-
使用它来打开你的控制台调试器stackoverflow.com/questions/25860987/… 虽然如果你输入
po听起来你正在使用它。您应该让程序崩溃以查看此跟踪。您的程序可能会在all exception断点处暂停。
标签: ios debugging dispatch-async