我正在理清意大利面条式的代码,作为练习,我正在逐步浏览应用程序,从它的启动开始,在 applicationDidFinishLaunching
处中断,然后逐步进入。
当第一个方法返回时,我将进入程序集。知道什么时候跨过,什么时候进入是一个真正的痛苦。我希望调试器在所有符号化代码上暂停(即我在 Xcode 中看到的代码——也许这称为“用户”代码?基本上,非框架/库代码。),但我不关心 Apple 的内部方法。
我正在寻找在我(或我的前任)编写的每个方法和函数的第一行(或每一行)上设置断点的实际等价物。
是否有一些 LLDB 巫术可以做到这一点?
最佳答案
有一种在所有模块函数上设置断点的简单方法,不包括任何其他共享库(Apple 框架)的函数,假设您的产品/模块名为“MyApp”,即:
breakpoint set -s MyApp -r .
但是,这将包括您静态链接到的任何库,这可能意味着您引入的任何库,因为 App Store 不允许动态链接。
如果您倾向于为类添加前缀,则可以通过仅中断属于具有该前缀的类的函数来缩小结果范围。假设您的前缀是“MA”,您可以执行以下操作:
breakpoint set -s MyApp -r ^[^A-Za-z]*MA
这应该涵盖您的大部分代码。
关于ios - 如何中断 Xcode 4.6 中的所有符号化代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15073946/