我想查看指针指向的元素数组。在 GDB 中,这可以通过使用运算符“@”将指向的内存视为给定长度的人工数组来完成
*pointer @ length
where length
是我要查看的元素数量。
上述语法在 Xcode 4.1 提供的 LLDB 中不起作用。
有什么办法可以在LLDB中完成上述任务吗?
在 lldb 中有两种方法可以做到这一点。
最常见的是,您使用parray
lldb 命令需要一个COUNT
and an EXPRESSION
; EXPRESSION
被评估并且应该产生一个指向内存的指针。然后 lldb 将打印COUNT
该地址的该类型的项目。例如
parray 10 ptr
where ptr
属于类型int *
.
或者,可以通过将指针转换为指向数组的指针来完成。
例如,如果您有一个int* ptr
,并且您想将其视为十个整数的数组,您可以这样做
p *(int(*)[10])ptr
由于它仅依赖于标准 C 功能,因此该方法无需任何插件或特殊设置即可工作。它同样可以与其他调试器(如 GDB 或 CDB)配合使用,尽管它们也有用于打印数组的专门语法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)