1.输出堆栈信息
当项目运行出现bug的时候,通常我的做法是在调用对栈出寻找到解决的办法,发现出错调用方法,位置,然后去解决它!
2.断点调试
1.断点 单步调试 多断点调试
2. 全局断点
debug程序就会自动定位到栈底的信息
3.条件断点
https://www.cnblogs.com/6duxz/p/4891321.html
4.各种打印
各种断点,各种打印,调用python插件,运行中断,操作硬件底层,控制程序运行线程……lldb都可以做到!仿佛lldb就是另一个强大的世界!!!所有调试技巧lldb。
//www.greatytc.com/p/0bdfcb4df61e
3.Xcode视图调试
视图调试功能点击并拖拽三维渲染图的任意一边,可旋转或者倾斜用户界面,向左或者向右倾斜可选中某个表视图。选中后,Xcode会高亮该视图,并在会在右边展示Object 和Size检查器。查看在跳转栏顶部并确认UITableView是右边最后一个项目。
Object 和 Size检查器包括大量有用的信息
打开右边的Size inspector(规格检查器),下方是Auto Layout,可以看到视图上已经应用了正确的约束。在Object inspector中,我们可以检查所选视图的属性。
https://www.cnblogs.com/6duxz/p/4891321.html
参考:https://code.tutsplus.com/tutorials/view-debugging-in-xcode-6--cms-22530
4.instruments分析
代码更加健壮,instrument里面包含了很多工具,内存溢出分析,性能分析,各种分析……
参考:https://www.raywenderlich.com/397-instruments-tutorial-with-swift-getting-started
5.iOS模拟器调试功能
编译并运行应用程序,选中模拟器,从 Debug菜单中选择Color Blended Layers选项。然后会看到app的用户界面被红色和绿色覆盖,显示了哪些图层可以被叠加覆盖,以及哪些图层是透明的。混合层属于计算密集型视图,所以推荐尽可能地使用不透明的图层。
https://www.cnblogs.com/6duxz/p/4891321.html