【问题标题】:Format the output of parray command in lldb console in mac在 mac 的 lldb 控制台中格式化 parray 命令的输出
【发布时间】:2019-04-18 06:59:45
【问题描述】:

我正在使用 lldb parray 命令 given here 显示一个数组(结构内的指针,数组大小由 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 个元素)?

【问题讨论】:

    标签: xcode debugging formatting lldb


    【解决方案1】:

    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)
    

    当然编号是关闭的(但无论如何你都不想看到...)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 2010-11-29
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    相关资源
    最近更新 更多