当前位置: 首页 > news >正文

14、lldb调试指令

LLDB

  • LLDB(Low Lever Debug): 默认内置于Xcode中的动态调试工具.标准的lldb提供了一组广泛的命令,旨在与老版本的GDB命令兼容.除了使用标准配置外,还可以很容易地自定义lldb以满足实际需要.

1.1 lldb语法:

<command> [<subcommand> [<subcommand>...]] <action> [-options [option-value]] [argument [argument]...]

  • command> (命令)和 subcommand>(子命令): lldb调试命令的名称
  • action>: 执行命令的操作
  • options>: 命令选项
  • argument>: 命令的参数
  • []: 表示命令是可选的,可以有也可以没有

1.2 示例:

breakpoint set -n test

  • command: breakpoint 表示断点命令
  • action: set表示设置断点
  • option: -n表示根据方法name设置断点
  • argument: test表示方法名为test

1.3 断点设置

  • 在日常开发中,我们可以使用Xcode做断点设置、但是在逆向环境中,我们并没有第三方应用的源码,也不可能通过界面设置断点.这种情况下,只能使用breakpoint指令,在Xcode中lldb控制台,或直接在终端进行断点设置.
  • breakpoint set -n xxx: 对方法/函数名称设置断点
  • breakpoint set -r xxx: 对包含字符串的符号设置断点
  • breakpoint set --selector xxx: 对项目内指定名称的selector设置断点
  • breakpoint set --file xxx: 在指定文件中设置断点
  • breakpoint list: 查看断点列表
  • breakpoint disable: 禁用断点
  • breakpoint enable: 启用断点
  • breakpoint delete: 删除断点
  • 缩写: break、br、设置断点可缩写指令: b

1.4 代码执行

  • po指令: 意思是 print object, 用于打印对象,本质上调用了对象的 description
  • expression 指令: 用于执行代码
    • 缩写: exp、p
    • 可以使用标号
    • 可执行多行代码
  • 流程控制
    • c(continue)指令: 继续执行
    • n(next)指令: 单步运行,将子函数当作整体一步执行
    • ni指令: 单步运行,汇编级别
    • s指令: 单步运行,遇到子函数会进去
    • si指令: 单步运行可跳转指令内部,汇编级别
    • finish指令: 直接走完当前方法,返回到上层frame
  • 查看堆栈信息
    • bt指令: 查看函数调用栈
    • up指令: 查看上一个函数
    • down指令: 查看下一个函数
    • frame select指令: 选择指令函数
    • frame variable指令: 查看方法调用者、方法名称、参数和局部变量
    • thread return指令: 让方法直接返回,不执行里面的代码
  • 内存断点
    • watchpoint指令,设备内存断点
  • 其他指令
    • br command add指令: 给断点添加命令的命令
    • target stop-hook add -o “xxx”: 每次stop的时候去执行一些命令,针对breakpoint、watchpoint
    • 配置lldb初始化文件,当lldb启动,就会加载此文件,执行文件内的指令,一劳永逸.
  • lldb更多参考文档
    • https://lldb.llvm.org/python_reference/index.html


    • https://lldb.llvm.org/

相关文章:

14、lldb调试指令

LLDB LLDB(Low Lever Debug): 默认内置于Xcode中的动态调试工具.标准的lldb提供了一组广泛的命令,旨在与老版本的GDB命令兼容.除了使用标准配置外,还可以很容易地自定义lldb以满足实际需要. 1.1 lldb语法: <command> [<subcommand> [<subcommand>...]] &l…...

浏览器缓存策略:强缓存和协商缓存

浏览器缓存&#xff1a;其实就是在本地使用的计算机中开辟一个内存区&#xff0c;同时也开辟一个硬盘区&#xff0c;作为数据传输的缓冲区&#xff0c;然后利用这个缓冲区来暂时保护用户以前访问的信息通常浏览器的缓存策略分为两种&#xff1a;强缓存和协商缓存&#xff0c;强…...

2023年Chat GPT 应用前景分析

从2022年12月初刚上线至今&#xff0c;不到半年时间ChatGPT月活就超过了1亿用户&#xff01;可谓火的一塌糊涂&#xff0c;比尔盖茨都称&#xff1a;ChatGPT的历史意义重大&#xff0c;不亚于PC或互联网诞生。以至于ChatGPT官网长期都处于满负荷运转的状态&#xff01; 由于Ch…...

并发计算公式

常用并发数计算公式&#xff1a;N[(n0.8SP)/(T0.2)]*R 其中&#xff1a; n为系统用户数&#xff1b; S为每个用户发生的业务笔数&#xff08;QPS&#xff09;&#xff1b; P为每笔业务所需要访问服务器的时间&#xff0c;单位为秒&#xff1b; T为使用业务的时间&#xff0c;单…...

“华为杯”研究生数学建模竞赛2020年-【华为杯】E题:能见度估计与预测(附获奖论文及python代码实现)

​​​​​​​ 目录 摘 要: 一、问题背景与问题重述 1.1 问题背景 1.2 问题重述...

Arduino学习笔记3

一.RGB三色小灯实验 1.源代码 int rgb_R11;//接到板子上面的PWM口11 R int rgb_G9;//接到板子上面的PWM口9 G int rgb_B10;//接到板子上面的PWM口10 B void setup() {pinMode(rgb_R,OUTPUT);//设置rgb_R的控制口为输出模式pinMode(rgb_G,OUTPUT);//设置rgb_G的控制口为输出模…...

BPMN2.0 任务-用户任务

“用户任务(user task)”用于对需要人工执行的任务进行建模。当流程执行到达用户任务时,会为指派至该任务的用户或组的任务列表创建一个新任务。 用户任务用左上角有一个小用户图标的标准任务(圆角矩形)表示。 用户任务在XML中如下定义。其中id是必须属性,name是可选属性…...

David Silver Reinforcement Learning -- Markov process

1 Introduction 这个章节介绍关键的理论概念。 马尔科夫过程的作用&#xff1a; 1&#xff09;马尔科夫过程描述强化学习环境的方法&#xff0c;环境是完全能观测的&#xff1b; 2&#xff09;几乎所有的RL问题可以转换成MDP的形式&#xff1b; 2 Markov Processes 2.1 Mark…...

项目结束倒数2

今天,解决了,多个点的最短路问题 用的dfs,配上了floyed计算出的广源距离 难点是要记录路线,dfs记录路线就很烦 但是好在结束了,经过无数的测试,确保没啥问题(应该把) 来看看我的代码 void dfs(int b[], int x, int* sum, int last, int sums, int a[], BFS& s, Floyd_A…...

VBA智慧办公9——图例控件教程

如图&#xff0c;利用VBA进行可视化交互界面的设计&#xff0c;在界面中我们用到了label&#xff0c;button&#xff0c;text&#xff0c;title等多个工具&#xff0c;在进行框图效果的逐一实现后可进行相应的操作和效果实现。 VBA&#xff08;Visual Basic for Applications&a…...

Presto VS Spark

环境配置 5个节点&#xff0c;每个节点10G内存。 测试SQL&#xff0c;每个执行3次&#xff0c;求平均&#xff0c;对比计算性能。 版本信息 Spark&#xff1a;2.3.1Presto: 0.208 10亿量级查询性能对别 Spark&#xff1a; spark-sql> select sex,count(1) from conta…...

为什么我们能判断声音的远近

想象一下&#xff0c;当我们走在路上时&#xff0c;听到了头顶的鸟儿在树梢间的叫声&#xff0c;即使无法透过浓密的树叶看见它&#xff0c;也可以大致知道鸟儿的距离。此时身后传来由远到近自行车铃铛声&#xff0c;我们并不需要回过头去看&#xff0c;便为它让开了道路。这些…...

那些关于DIP器件不得不说的坑

了解什么是DIP DIP就是插件&#xff0c;采用这种封装方式的芯片有两排引脚&#xff0c;可以直接焊在有DIP结构的芯片插座上或焊在有相同焊孔数的焊位中。其特点是可以很方便地实现PCB板的穿孔焊接&#xff0c;和主板有很好的兼容性&#xff0c;但是由于其封装面积和厚度都比较…...

论文笔记:基于U-Net深度学习网络的地震数据断层检测

0 论文简介 论文&#xff1a;基于U-Net深度学习网络的地震数据断层检测 发表&#xff1a;2021年发表在石油地球物理勘探 1 问题分析和主要解决思路 问题&#xff1a;断层智能识别&#xff0c;就是如何利用人工智能技术识别出断层。 解决思路&#xff1a;结合&#xff35;-N…...

kafka单节点快速搭建

1.搭建使用centos7主机&#xff0c;关闭防火墙和selinux服务 2.创建kafka存放目录 mkdir /etc/kafka 3.从kafka官网下载安装包 我这里下载了3.3.1版本的kafka&#xff0c;放到kafka目录中 下载地址&#xff1a;Apache Kafka 4.解压安装包并更改名称 tar -zxvf /etc/kaf…...

【MySQL】(6)常用函数

文章目录 日期函数获取日期日期计算 字符串函数charsetconcatlengthsubstringreplaceinstrstrcmpltrim, rtrim, trim 数学函数absbin, hexconvceiling, floorrandformatmod 其他函数user() 查询当前用户密码加密md5()password() database() 查看当前数据库ifnull() 日期函数 函…...

Linux学习 Day1

注意&#xff1a; 以下内容均为本人初学阶段学习的内容记录&#xff0c;所以不要指望当成查漏补缺的字典使用。 目录 1. ls指令 2. pwd指令 3. cd指令 4. touch指令 5. mkdir指令&#xff08;重要&#xff09; 6. rmdir指令 && rm 指令&#xff08;重要&#xff…...

Hibernate中的一对多和多对多关系

Hibernate的一对多和多对多 Hibernate是一个优秀的ORM框架&#xff0c;它简化了Java应用程序与关系型数据库之间的数据访问。在Hibernate中&#xff0c;我们可以使用一对多和多对多的关系来处理复杂的数据模型。本文将介绍Hibernate中的一对多和多对多&#xff0c;包括配置和操…...

Linux系统之部署Samba服务

Linux系统之部署Samba服务 一、Samba服务介绍1.Samba服务简介2.NFS和CIFS简介3.Smaba服务相关包4.samba监听端口4.samba相关工具及命令 二、环境规划介绍1.环境规划2.本次实践介绍 三、Samba服务端配置1.检查yum仓库2.安装smaba相关软件包3.创建共享目录4.设置共享目录权限5.新…...

回顾产业互联网的发展历程,技术的支撑是必不可少的

从以新零售、全真互联网为代表的产业互联网的概念诞生的那一天开始&#xff0c;互联网的玩家们就一直都在寻找着它们的下一站。尽管在这个过程当中&#xff0c;遭遇到了很多的困难&#xff0c;走过了很多的弯路&#xff0c;但是&#xff0c;产业互联网的大方向&#xff0c;却始…...

ESP32外部中断防抖实战:用MicroPython搞定按键误触,附完整消抖代码

ESP32外部中断防抖实战&#xff1a;用MicroPython搞定按键误触&#xff0c;附完整消抖代码 当你按下ESP32开发板上的按键时&#xff0c;是否遇到过LED灯莫名其妙闪烁多次&#xff1f;或者智能家居设备偶尔会误触发某个功能&#xff1f;这些"灵异事件"的罪魁祸首&…...

如何用ESP32制作你的专属开源智能手表:DIY终极指南

如何用ESP32制作你的专属开源智能手表&#xff1a;DIY终极指南 【免费下载链接】awesome-esp &#x1f4f6; A curated list of awesome ESP8266/32 projects and code 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-esp 想要拥有一个完全自定义的智能手表吗&am…...

Copula导向的互相关随机场模拟及土坡可靠度分析【附仿真】

✨ 长期致力于土坡可靠度、信息扩散、Copula函数、互相关随机场、HMC-SS法研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;二元信息扩散分布Copula模型…...

Wireshark抓包提取NTLMv2 Hash实战指南

1. 这不是“黑客演示”&#xff0c;而是一次内网安全加固前的必做体检你有没有遇到过这样的情况&#xff1a;某天突然收到告警&#xff0c;说域控日志里出现了大量异常的NTLM认证失败记录&#xff1b;或者渗透测试报告里赫然写着“存在明文凭据泄露风险”&#xff0c;但你翻遍所…...

冬季施工安全措施,附: 冬季施工总安全技术交底

冬季施工安全措施,附: 冬季施工总安全技术交底 冬季施工特点 1 冬季施工由于施工条件及环境不利,是工程质量事故的多发季节,尤以混凝土工程、钢结构工程居多。如何在冬季施工、抢赶工期的条件下保证项目的质量目标,是施工技术和施工组织的难点。 3 质量事故出现的隐蔽性…...

关注模块 API

关注用户 POST /api/v1/relations/followHeaders:Authorization: Bearer {token}Request: {"user_id": "target_user_id" }Response: {"code": 0,"data": {"relation_type": "following"} }接口语义设计 POST /…...

[工具] 数学题库生成器(小学,初中,高中全包括) 面向中小学数学教学的自动出题工具,覆盖从小学一年级到高中三年级共 7 个学段、33 种题型

数学题库生成器&#xff08;小学&#xff0c;初中&#xff0c;高中全包括&#xff09; 基本覆盖各个年级的重点题型生成&#xff0c;并导出为word&#xff0c;可以显示解题步骤。# 数学题库生成器 MathMaster 数学题库生成器&#xff08;MathMaster&#xff09;是一款面向中小学…...

Unity编辑器性能优化:工作流、场景与预制体三大资源创建瓶颈

1. 为什么编辑器资源创建环节是Unity性能优化的“隐形地雷区”很多人一提Unity性能优化&#xff0c;第一反应就是Profiler里看Draw Call、GC Alloc、CPU耗时&#xff0c;或者去改Shader、压贴图、拆合批。这没错&#xff0c;但90%的团队在项目中后期卡顿频发、打包失败、CI构建…...

Unity重型战士Mecanim动画包:开箱即用的战斗动画解决方案

1. 这套动画包到底解决了什么实际问题&#xff1f;在Unity项目开发中&#xff0c;我见过太多团队卡在“角色动不起来”这一步——不是程序写不出状态机&#xff0c;而是美术资源交付后&#xff0c;Animator Controller里一堆红色警告&#xff1a;Missing Avatar、Clip not mapp…...

Heavy Fighter动画包:Unity战斗系统根运动与状态机深度解析

1. 这套动画包不是“拿来就能用”的资源&#xff0c;而是需要你亲手校准的战斗系统骨架我在2021年接手一个横版ARPG项目时&#xff0c;美术总监甩给我三套Mecanim动画包&#xff0c;其中一套就是Heavy Fighter Mecanim Animation Pack。当时我第一反应是“终于不用手调IK了”&a…...