【发布时间】:2014-02-15 06:05:26
【问题描述】:
我有一个使用常规 C89 初始化程序初始化的数组:
uint8_t data[] = {0x05,0x48,0x45,0x4c,0x4c,0x4f,0x01,0x00 ... }
当我在 lldb 中打印这个数组时,我得到了这个怪物:
(lldb) p data
(uint8_t [200]) $0 = {
[0] = '\x05'
[1] = 'H'
[2] = 'E'
[3] = 'L'
[4] = 'L'
[5] = 'O'
[6] = '\x01'
...
我正在尝试将 lldb 的输出强制转换为原始 C89 语法,这样我就可以简单地将 lldb 中的数组内容粘贴回我的代码中(例如,这样我就可以编写使用在调试期间捕获的数组的单元测试)。
如何告诉 lldb 将其输出格式化为看起来像普通的 C89 初始化程序?
【问题讨论】:
-
我现在没有,但试试这个文档lldb.llvm.org/varformats.html 看看那个以简单格式打印数组的例子,看看它是如何完成的。否则可能会尝试编写自己的自定义格式
标签: c arrays formatting lldb