如何在LLDB中打印数组的内存地址(Xcode9.2环境)
获取LLDB中数组的内存地址(Xcode 9.2)
嘿,我来帮你搞定这个在LLDB里拿到数组本身内存地址的问题!你之前用e命令只看到元素内容和元素地址,是因为默认的expression命令会优先展开数组的元素细节,而不是直接返回数组变量的内存位置。试试下面这几个方法:
直接取变量地址:在LLDB里输入
p &Wholedata这个命令会直接输出
Wholedata这个数组变量本身的内存地址,和你之前看到的单个元素地址完全不同。查看栈帧变量的完整位置信息:用
frame variable命令加上-L参数,它会显示变量在内存中的精确位置:frame variable -L Wholedata输出结果里最开头的
0x开头的字符串,就是数组本身的内存地址,后面才是数组的元素内容。如果是Swift数组的额外方案:你可以强制将数组转换成指针类型来打印地址:
e UnsafePointer<[BaseModel]>(&Wholedata)这个方式也能直接返回数组的内存指针地址。
这些方法都能帮你拿到数组对象本身的内存地址,而不是元素的地址,完美解决你之前遇到的问题~
内容的提问来源于stack exchange,提问作者Bathant Hegazy
相关产品推荐
相关产品推荐

