- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
有时我会尝试追踪 iOS 应用程序中非常罕见的错误。经过数小时的尝试重现后,我会在调试器中点击它,结果在调试时 xcode 或 lldb 崩溃了(通常是在单步执行 C++ 代码时)。这太令人气愤了。
使用 gdb,您可以使用 generate-core-dump
创建文件的核心转储,这样我就可以在 gdb 中重新加载它,至少可以查看所有内存。我想要的是能够在 lldb 中做类似的事情,这样当 xcode 崩溃时(在最糟糕的时候它总是倾向于这样做)我可以恢复我的调试 session 而不必重现崩溃。
该应用程序在未越狱的 iPhone 上运行,因此我无法访问操作系统来执行诸如从那里转储内存之类的操作。
一个可能的答案是只使用 gdb 而不是 lldb,但我认为这会导致一些我现在不记得的其他问题,而且它没有一些在 lldb 中有用的功能。
最佳答案
更新:2014 年秋季发布的 Xcode 6 在 lldb 中包含一个新的 process save-core
命令——lldb 现在可以生成用户进程的核心转储。例如(lldb) 处理 save-core/tmp/corefile
并稍等片刻。
Xcode 5 和更早版本的 lldb 的原始答案是:
此功能尚未在 lldb 中实现。就此而言,此功能也未在 Apple 版本的 gdb 中实现。
虽然不是一个普遍要求的功能,但其他人说它也很有用。希望有人有足够的动力将该功能添加到 lldb。我不确定它在 iOS 设备上的运行情况如何,因为它将涉及通过一种对于大数据传输效率不高的协议(protocol)将大量数据传输到 Mac - 我预计它会非常慢.
核心文件可以用lldb -c/tmp/corefile打开
关于ios - 如何在附加到 iOS 的 lldb 中手动生成核心转储(或等效文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17872684/
我正在为我的应用程序使用 Tank-Auth。我唯一的问题是激活和重置帐户密码。 用于登录、注册、注销;我对这些代码没有问题; $route['login'] = "/auth/login"; $ro
我是一名优秀的程序员,十分优秀!