1. 将Objective-C代码转换为C\C++代码
xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc OC源文件 -o 输出的CPP文件
- 如果需要链接其他框架,使用-framework参数。比如-framework UIKit
2. 实时查看内存数据
Debug -> Debug Workfllow -> View Memory (Shift + Command + M)

- 也可以使用LLDB指令
2.1 常用LLDB指令
- print、p:打印
- po:打印对象
- 读取内存
- memory read/[数量][格式][字节数] 内存地址
eg:memory read/3xw 0x10010
(3是数量;x是格式,表示16进制;w是格式,表示4字节) - x/[数量][格式][字节数] 内存地址 (x=memory read)
eg: x/3xw 0x10010
- memory read/[数量][格式][字节数] 内存地址
1. 格式:
x是16进制,f是浮点,d是10进制
2. 字节大小
b:byte 1字节,h:half word 2字节
w:word 4字节,g:giant word 8字节
- 修改内存中的值
- memory write 内存地址 数值
eg:memory write 0x0000010 10
- memory write 内存地址 数值
3.查看苹果源码
https://opensource.apple.com/tarballs/
objc代码:
https://opensource.apple.com/tarballs/objc4/
网友评论