xcode - 在 mac 的 lldb 控制台中格式化 parray 命令的输出
问题描述
我正在使用此处给出的 lldb parray 命令显示一个数组(结构内的指针,数组大小由 calloc 定义)
这以以下格式向我显示了数组的值:
(float *) $0 = 0x123456789 {
(float) [0] = 0.0012
(float) [1] = 0.123456
(float) [2] = 0.0012
(float) [3] = 0.123456
.
.
.
我只想显示数组的值
0.0012
0.123456
0.0012
0.123456
.
.
.
lldb 控制台怎么办?我正在使用objective-c。
另外,是否可以只显示一系列值(例如从第 100 个到第 150 个元素)?
解决方案
该expr
命令无法控制是否打印聚合对象的子元素的名称/类型。 parray
只是该expr
命令的一种特殊用途。所以你不能用内置命令来做到这一点。
你可以很容易地编写一个基于 python 的命令来转储你想要的数组的输出。
也可以随时向http://bugs.llvm.org提交增强请求以添加此类选项。
您可以通过执行以下操作对显示范围进行排序:
(lldb) parray 4 &array[10]
(int *) $2 = 0x0000000100300218 {
(int) [0] = 10
(int) [1] = 11
(int) [2] = 12
(int) [3] = 13
(lldb)
当然,编号已关闭(但无论如何您都不想看到...)
推荐阅读
- python - 有没有办法改变乌龟中文本框的位置?它总是显示在我的左上角,但我希望它在底部中心
- javascript - 我正在尝试使用 JavaScript 或 jQuery 将页眉、主文件和页脚 html 文件从文件夹加载到索引 html 文件?
- tensorflow - 如果我们将损失传递为 tf.constant,为什么 optimizer.minimize 不起作用?
- java - 自定义对象的 ArrayList 排序如何工作?
- visual-studio - 如何通过从另一个分支复制本地内容从 TFS 中的新分支中提取
- python-3.x - Python中的代理服务器
- java - 正则表达式 - 反之亦然改变输出
- python - 如何在 pyCryptodome (Python 3.7) 中使用公钥解密
- angular - RxJS:合并中的 switchMap 无法进行有条件的可观察返回
- html - 重新定位图像的媒体查询