【发布时间】:2018-02-14 12:23:02
【问题描述】:
我想打印 .o 文件的符号(与 nm 命令相同)。 我对每个部分进行迭代。并使用这个条件:
if (section[i].sh_type == SHT_SYMTAB)
{
sym = (Elf64_Sym *)((char *)content +
section[i].sh_offset);
}
当我有我的 Elf64_Sym 结构时,我想打印符号名称。结构是:
typedef struct {
uint32_t st_name;
unsigned char st_info;
unsigned char st_other;
uint16_t st_shndx;
Elf64_Addr st_value;
uint64_t st_size;
} Elf64_Sym;
如何打印 st_name ?他的类型是 uint32_t。 我不明白如何打印它。
一个想法? 谢谢你!
【问题讨论】:
-
我不记得它是偏移量还是字符串表的索引。反正就是其中之一。
-
好的,谢谢。但是如何访问字符串表?