iOS LLDB调试命令(Low Lever Debug)
断点
设置断点
$breakpoint set -n XXX
set 是子命令
-n 是选项 是--name 的缩写!查看断点列表
$breakpoint list删除
$breakpoint delete 组号禁用/启用
$breakpoint disable 禁用
$breakpoint enable 启用遍历整个项目中满足Game:这个字符的所有方法
$breakpoint set -r Game:流程控制
- 继续执行
$continue c - 单步运行,将子函数当做整体一步执行
$n next 单步运行,遇到子函数会进去
$s
常用命令
1)image 命令可用于寻址:
"image lookup --address + 地址" 寻找栈地址对应的代码位置(当碰到给一堆堆栈错误时很有用),即可以直接定位追踪到Bug崩溃在哪一行,像如下这种情况,崩溃是全局的,根本没有定位到哪一行,而且很多时候lldb reason是没有提示的,这个时候就需要用到image lookup --address命令了,当我输入这行命令时image lookup --address 0x0000000106d94cbe,就会在后面打印出崩溃的 类名 所在方法 所在行。
2) p命令:
是输出基本类型的,但是我们发现其实都可以用。在输出结果中我们还能看到类似于$0,$1这样的符号,我们可以将其看作是指向对象的一个引用,我们在控制面板中可以直接使用这个符号来操作对应的对象,这些东西存在于LLDB的全名空间中,目的是为了辅助调试。
3) expr命令:
可以在调试时动态执行指定表达式,并将结果打印出来。常用于在调试过程中修改变量的值,与po类似。
4) call命令:
即是调用的意思。
5)bt命令:
打印调用堆栈,加all可打印所有thread的堆栈。
6)po 命令:
是‘point object’(即打印对象,且会调用description方法)。可以在调试时动态执行指定的表达式,并将结果打印出来,是个很有用的命令。
转载于:https://www.cnblogs.com/WinJayQ/p/9016283.html
iOS LLDB调试命令(Low Lever Debug)相关推荐
- iOS lldb调试
LLDB 初始 LLDB 是一个有着 REPL 的特性和 C++ ,Python 插件的开源调试器.LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中.调试器允许你在程序运行的特定时暂停它 ...
- iOS LLDB调试精解
小笨狼与LLDB: http://jiangliancheng.gitcafe.io/2015/12/13/%E5%B0%8F%E7%AC%A8%E7%8B%BC%E4%B8%8ELLDB%E7%9A ...
- iOS各种调试技巧豪华套餐
转载http://www.cnblogs.com/daiweilai/p/4421340.html#biyouji 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Globa ...
- IOS各种调试技巧豪华套餐(好东西)
目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints) 打印的艺术 NSLog 开启 ...
- LLDB调试基本使用
在平时开发中,我们可能需要调试某些东西,比如查看给服务器发请求时传过去的参数,如果不适用LLDB的话我们用的最多的就是通过NSLog方式去打印,但现在我们可以精简这个步骤,那就是使用LLDB调试命令. ...
- lldb调试使用python脚本问题总结
lldb调试器可以使用python脚本实现功能增强,但也不是可以随心所欲的,在实际中有很多地方需要注意. 首先是对多线程环境调试使用python脚本,也要考虑python脚本有多线程安全,尤其是有许多 ...
- iOS之LLDB常用调试命令
LLDB是个开源的内置于XCode的调试工具,这里来理一理常用用法. lldb对于命令的简称,是头部匹配方式,只要不混淆,你可以随意简称某个命令.结果为在xcode下验证所得,可能与其它平台有所误差. ...
- lldb常用命令与调试技巧
一.基本介绍 LLDB是个开源的内置于XCode的调试工具,它能帮助我们在开发中更快的定位和调试bug,无论正向和逆向开发中都有很大的作用.lldb对于命令的简称,是头部匹配方式,只要不混淆(不提示歧 ...
- android lldb断点,iOS lldb断点调试
Xcode的使用中总是离不开调试这个环境,在一年多的iOS开发时间中,我更多地依赖于XCode本身提供的GUI工具来进行调试,而对LLDB敬而远之,这段时间好好学习了LLDB的使用,发觉我错过了太多东 ...
最新文章
- 用钉钉接收zabbix告警
- linux系统遵循以下哪项协议,实务(互联网技术)通信工程师考试习题库
- 终端软件_DMSTerminal现场管控终端软件正式发布
- 我参与的一个项目的继续总结:技术篇
- 【原创】大数据基础之Spark(1)Spark Submit即Spark任务提交过程
- Mac文件管理技巧:灵活的颜色标记,更好地分类
- Spring的单例模式底层实现
- 算法设计与分析(第二版)上机实验题——Java实现
- explain mysql 耗时_借助慢查询日志和explain命令分析 MySQL慢查询语句分析总结
- BrowserslistError: Unknown version 67 of android
- SSL证书7大常见错误及解决办法!
- 依存分析:基于序列标注的中文依存句法分析模型实现
- 凤凰系统虚拟机装卡_凤凰系统安装教程|凤凰虚拟机2.0(Phoenix OS)下载v3.6.1可重启版...
- ax88772c linux驱动下载,ax88772c以太网驱动问题
- CV 经典主干网络 (Backbone) 系列: Darknet-53
- 智能门锁:人脸识别技术
- Linux操作系统的设备独立性,Linux的设备管理
- 如何备考2021年最后一场PMP考试?
- 测试画面帧率及帧延时一种方法
- java并行流 阻塞主线程_记一次使用Java8并行流导致的服务瓶颈问题排查
热门文章
- 计算机表格大小怎么调整,excel表格如何调整表格大小
- oracle 条件反转,Oracle反转倒置函数
- php 去掉数组相同元素,php怎么去掉数组中重复的元素
- 前端使用crypto.js进行加密学习记录
- JavaScript 数组排序及查找数组中最大值最小值方法
- ES6 let和const 命令
- mysql建立高效索引,如何知道你建立的MySQL索引是高效,合理的
- python怎么读_如何用Python读写文件
- 用R语言做词频统计_R语言 | 词频统计
- 微信小程序实时聊天之WebSocket