iOS项目查看汇编代码

2022-03-30  本文已影响0人  夜凉听风雨

一、显示汇编

正常我们在代码处打上断点,运行到断点处就会显示我们写的代码,想要看到汇编代码需要做以下设置。

勾选上xcode顶部 Debug -> Debug Workflow -> Always Show Disassembly即可看到如下图所示汇编代码。

汇编代码.png

①:表示每一行汇编代码的地址
②:表示每一行汇编代码与第一行代码地址相差多少个字节
③:表示汇编指令操作符
④:汇编指令操作的对象

二、查看内存

勾选上xcode顶部 Debug -> Debug Workflow -> View Memory 即可看到如下图所示的界面。
在此界面输入地址,就可以查看到地址对应的内存中的内容

查看内存界面.png

下面我输入一个地址查看到内存中对应的值是0x0A也就是10

内存对应内容.png

三、常用lldb指令

1.读取寄存器的值

General Purpose Registers:
       rax = 0x0000000100008018  swiftTest`swiftTest.a : Swift.Int
       rbx = 0x0000000000000000
       rcx = 0x0000000000000000
       rdx = 0x00007ffeefbff4c8
       rdi = 0x0000000000000001
       rsi = 0x00007ffeefbff4b8
       rbp = 0x00007ffeefbff490
       rsp = 0x00007ffeefbff430
        r8 = 0x0000000000000000
        r9 = 0x0000000000000000
       r10 = 0x0000000000000000
       r11 = 0x0000000000000000
       r12 = 0x0000000000000000
       r13 = 0x0000000000000000
       r14 = 0x0000000000000000
       r15 = 0x0000000000000000
       rip = 0x0000000100003eea  swiftTest`main + 42 at main.swift:12:9
    rflags = 0x0000000000000246
        cs = 0x000000000000002b
        fs = 0x0000000000000000
        gs = 0x0000000000000000

2.修改寄存器的值

3.读取内存中的值

x/数量-格式-字节大小 内存地址

x 0x0000000100003edc 打印结果:

0x100003edc: 48 c7 05 39 41 00 00 14 00 00 00 89 7d cc 48 89  H..9A.......}.H.
0x100003eec: c7 48 8d 45 e8 48 89 75 c0 48 89 c6 ba 20 00 00  .H.E.H.u.H... ..

x/3xw 0x0000000100003edc 打印结果:

0x100003edc: 0x3905c748 0x14000041 0x89000000

4.修改内存中的值

memory write [内存地址] [数值]
memory write 0x0000010 10

5.格式

x是16进制, f是浮点,d是十进制

6.字节大小

b - byte 1字节
h - half word 2字节
w - word 4字节
g - giant word 8字节

7.表达式

expression [表达式] 可以简写为 expr [表达式]

expression a = 10
expr b = 3

8.po表达式

po/格式 [对象]
po age
po/d age

9.断点调试

上一篇 下一篇

猜你喜欢

热点阅读