IOS开发学习笔记之调试

调试
符号断点:可指定某个方法;直接添加方法名,则相当于设置断点在方法的第一行;
Oc有过三种编译器:GCC(很老,弃用)、LLVM、Apple LLVM(主要使用);
LLDB调试工具:在设置断点后,在输入面板中使用lldb的命令进行调试及计算;

常用命令:
p :输出基本类型
po :输出Oc对象
expo :动态修改参数的值,并调试
call : 调用其他方法,如:call [self showSize:array]
bt : 打印调用堆栈,加all可打印全部;用于程序crash时调用;
image :用于寻址;image lookup -n;根据对象名查看数据位置;-t 根据类型查看;
c : 跳过断点,恢复进程向下执行;
b :设置断点;如:b login 即设置断点到login方法
br :查看设置的断点;br l :列表;br del 1:删除#1的断点
thread:执行步骤;thread util 45:执行到第45行;
s :跳过,向下执行
n : 向下招待一步;
si :进入线程
ni :跳出线程;
finish: 结束该线程;
r : 运行进程,并可设置启动参数;

【可在Edit BreadPoint下设置条件断点;】

单元测试
使用XCTest框架;

性能优化
Oc三种内存管理方式:
MRC:由程序员自己负责管理对象的生命周期,负责对象的创建和销毁;
ARC:与MRC一样使用内存引用计数方法,但由系统负责;(IOS5后才有)
GC:类似于java的GC;只能应用于OS X开发,不能应用于iOS开发;

使用Analyze工具检测是否有内存泄漏
Product—>profile可打开Instruments工具箱:
Leaks:用于检查内存泄漏;
Zombies:用于发现僵尸对象;
在低内存时,要做相应的处理;在ViewController类的didReceiveMemoryWarning下处理;其他类监听系统的UIApplicationDidReceiveMemoryWarningNotification通知;

博客地址:IOS开发学习笔记之调试

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转载 与调试器共舞 - LLDB 的华尔兹: https://objccn.io/issue-19-2/ 推荐:i...
    F麦子阅读 3,447评论 0 10
  • iOS调试之LLDB Xcode内嵌了LLDB控制台,在Xcode代码编辑区的下方。shift + cmd + y...
    comst阅读 1,650评论 0 3
  • LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。平时用Xc...
    CoderSC阅读 1,500评论 0 2
  • 一直都觉得自己是独立性很强的人,起码和同龄的城里孩子比.我是佼佼者,会洗衣做饭,也很会照顾自己的亲人,幸f福近在身...
    二层抽屉阅读 239评论 0 0
  • 零零星星的雨下了下来,空气变得湿润而有味道,外面的世界是寂静的,猫咪卧在椅子上睡着了,窗外由雨水聚集的小谭,在雨水...
    点点忧伤阅读 269评论 0 0

友情链接更多精彩内容