【发布时间】:2015-08-20 10:32:05
【问题描述】:
在 Xcode 的 lldb 调试器中运行以下命令
memory read pArr --outfile ~/pArr.dump --count 5081160 --force
生成大小约为 25MB 的文件,而不是预期的 5MB。而且它并不比请求的大小大 5 倍,只是接近它。
是我做错了什么,还是 lldb 有问题?
【问题讨论】:
在 Xcode 的 lldb 调试器中运行以下命令
memory read pArr --outfile ~/pArr.dump --count 5081160 --force
生成大小约为 25MB 的文件,而不是预期的 5MB。而且它并不比请求的大小大 5 倍,只是接近它。
是我做错了什么,还是 lldb 有问题?
【问题讨论】:
典型的memory read,不转储到文件,写入十六进制转储。也就是说,它不是从内存中写入原始字节,而是将它们格式化为人类可读的表示。你看过你的档案吗?我怀疑这就是你会发现的,在这种情况下,很明显为什么它比转储的字节数要大得多。内存的每个字节由输出表示中的几个字符(字节)表示。
memory read 有一个 -b/--binary 选项,可以满足您的预期。
【讨论】: