【发布时间】:2020-12-20 13:11:33
【问题描述】:
我有一个包含正确 ASCII(或 Latin-1?)文本的部分的目标文件。所以,如果我写:
$ objdump -s my_file.so --section=.rodata
看起来像这样(只从中间呈现几行,显然很长):
070a80 656d3b0a 73697a65 5f742073 68617265 em;.size_t share
070a90 644d656d 50657242 6c6f636b 3b0a696e dMemPerBlock;.in
070aa0 74207265 67735065 72426c6f 636b3b0a t regsPerBlock;.
070ab0 696e7420 77617270 53697a65 3b0a7369 int warpSize;.si
070ac0 7a655f74 206d656d 50697463 683b0a69 ze_t memPitch;.i
070ad0 6e74206d 61785468 72656164 73506572 nt maxThreadsPer
070ae0 426c6f63 6b3b0a69 6e74206d 61785468 Block;.int maxTh
我的问题:我可以让 objdump 只打印文本,而不需要行索引和十六进制值吗?并至少正确打印所有打印字符(例如 0x0a 的换行符)?或者 - 我必须执行一堆文本处理以将点与它们的值相关联,用正确的字符替换它们,剪切行前缀,删除人工换行符等吗?
【问题讨论】:
标签: text-processing objdump hexdump object-files