首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS 调试技巧
订阅
榛子田
更多收藏集
微信扫码分享
微信
新浪微博
QQ
6篇文章 · 0订阅
LLDB调试及插件
LLDB是我们开发中都会使用到的调试工具,我们今天来总结一下常见的用法以及一些好用的LLDB插件。 LLDB 断点 断点是LLDB中最常用的功能了,平时都是在代码中手动设置断点,今天通过LLDB来添加
动态跟踪技术浅析
动态跟踪技术是一种后现代的高级调试技术,全称为Dynamic Trace,属于系统内核实现的,可以对内核态和用户态程序进行动态跟踪且性能损耗很小不会对系统运行构成任何危险。它可以帮助软件工程师以非常低的成本,在非常短的时间内,回答一些很难的关于软件系统方面的问题,从而更快速地排…
深入iOS系统底层之XCODE对汇编的支持
一个好的IDE不仅要提供舒适简洁和方便的源代码编辑环境,还要提供功能强大的调试环境。XCODE是目前来说对iOS应用开发支持的最好的IDE(虽然Visual Studio2017也开始支持iOS应用的开发了),毕竟XCODE和iOS都是苹果公司的亲生儿子。唯一要吐槽的就是系统和…
xnu内核调试
苹果提供了内核调试协议KDP(Kernel Debug Protocol)来支持远程调试,该协议基于UDP协议允许调试器将命令发送到内核,并接收返回的结果和异常通知。 因调试内核难免会遇到内核“恐慌”情况,因此最好的方式是通过虚拟机运行系统,并且虚拟机支持快照管理,方便保存环境…
一种查看Block中引用的所有外部对象的实现方法
在项目工程中打开Edit Scheme... 在出现的如下界面: 中勾选Malloc Stack。 这样在Debug Memory Graph中就可以看到对象的内存分配调用栈信息,以及某个block的实现函数代码了。 在lldb控制台中使用 po [xxx debugDescr…
iOS调试Block引用对象无法被释放的一个小技巧
Block技术在iOS开发中非常流行也很方便,但是稍微疏忽就可能会产生引用无法被释放的问题,从而造成内存泄漏。那如何知道哪个Block持有了对象并造成内存泄漏呢? 一个解决的方法是在程序运行时通过Xcode的Debug Memory Graph 来查看当前进程中所有生命周期内的…