57得票1回答
readelf与objdump:为什么两者都需要?

我需要学习有关ELF文件布局的知识,因为我正在开展一个项目。我注意到这些工具的存在。 为什么所有Linux发行版都包括readelf和objdump?这些工具互补吗?在什么情况下我更倾向于使用其中之一?

36得票1回答
nm和"readelf -s"的区别

假设我们有一个名为libtest.so的共享库,它里面有一个名为"foo"的函数。 使用strip命令来丢弃libtest.so中所有的符号。$strip libtest.so 所以,现在如果我们使用:$nm libtest.so 它将打印出: nm: libtest.so: no sym...

32得票1回答
readelf -s不输出完整的变量名称

我需要从一个已编译的C程序文件中获取全局符号。我使用的是Linux命令readelf -s filePath,当我使用该命令时,我得到以下结果: 我用蓝色矩形框出来,展示变量名没有正确显示。它们只能显示25个字符,如何才能显示完整名称?

23得票4回答
Android上的ldd相当于什么?

我有一个libTest.so文件,但某些设备无法加载它,logcat没有任何有用的信息。 使用arm-linux-androideabi-readelf.exe -d libTest.so工具,我能够看到libTest.so所需的所有必要库。我将它们全部拉入到本地PC上相同的文件夹中。 我该...

21得票2回答
ELF文件中的“节到段映射”存储在哪里?

作为尝试从零开始编写编译器的一部分,我目前正在处理处理ELF文件的部分。 经过阅读多篇文章和规范,我仍然不太明白节到段映射存储在哪里。 当观察使用NASM+ld生成的小型可执行文件时,我可以看到.text节被某种方式映射到LOAD类型的程序头上,但是如何实现呢? 给定一个小型(工作)可执行...

14得票2回答
在GNU汇编中,名称开头的小数点表示什么?

以下是用于输入到GNU汇编器as的微处理器启动文件的一行:.section .isr_vector,"a",%progbits 名字开头的点.isr_vector有什么特殊含义吗? PS:这个名字被GNU链接器ld所引用。 编辑: 在readelf输出中,此名称还出现为节头:Sectio...

12得票1回答
解释readelf -S输出

我正在尝试将一个 ELF 文件加载到我制作的 MIPS 模拟器中。我遇到的问题是我不太理解 ELF 节头偏移量背后的含义。当我进行段转储时,段 25-31 和 33-35 “开始”于 0x00000000,但头部表明段从某个值的偏移量开始(例如 010190)。另外,在 -S 节的开头,rea...

12得票1回答
为什么register_tm_clones和deregister_tm_clones引用.bss段之外的地址?这段内存分配在哪里?

register_tm_clones和deregister_tm_clones引用了超出我的RW段结束地址的内存地址。这个内存是如何被追踪的? 示例:在下面的示例中,deregister_tm_clones引用了内存地址0x601077,但我们分配的最后一个RW段,.bss从地址0x6010...

9得票1回答
readelf: 错误:不是ELF文件-开头具有错误的魔数字节。

我编写了一个程序,它可以正常运行。但是当我使用“readelf”检查是否存在调试信息时,出现了错误: readelf: Error: Not an ELF file - it has the wrong magic bytes at the start readelf: Error:...

8得票1回答
从ELF文件中读取符号内容的Trace32命令

问题场景: 简单来说,我们是否有Trace32命令可以从已加载到目标上的ELF文件中读取符号(及其内容)?我们有这种特殊情况,即将ELF文件的应用程序特定调试符号作为“ .noload ”部分的一部分制作,这意味着符号/内容是ELF文件的一部分(使用readelf -a xxxx.elf_fi...