调试指南:从基础到高级技巧
1. 多重符号选择
当输入某个符号并按下回车键时,可能会出现一个下拉列表。这是因为存在多个同名符号,符号并不需要唯一,例如同一个方法名可以在多个类中使用。在大型项目中,应用程序里可能会编译进数十个 viewDidLoad
符号。
若遇到这种情况,比如有两个版本的 viewDidLoad
(我们自己编写的版本和父类中被重写的版本),在使用调试配置时,不仅会将调试符号编译到应用程序中,还会链接包含调试符号的框架,这样甚至能在非自己编写的代码中设置断点。此时,只需选中 RootViewController
中的 viewDidLoad
对应的复选框,然后点击“完成”按钮。若应用程序仍在运行,点击工具栏上的停止图标停止它,再选择“构建并调试 - 启用断点”重新启动,应用程序应该会在 viewDidLoad
的第一行代码处再次停止。
2. 条件断点
之前设置的符号断点和行号断点都是无条件断点,即调试器到达这些断点时总会停止。不过,也可以创建条件断点,它仅在特定情况下暂停执行。
具体操作如下:
1. 若程序仍在运行,先停止它。
2. 在断点窗口中,删除刚刚创建的符号断点。
3. 在 RootViewController.m
文件中,在调用 super
之后添加以下代码:
for (int i=0; i <