C 如何从图像/二进制文件检查结构的值?
编译后,我是否可以查看结构的值C 如何从图像/二进制文件检查结构的值?,c,gcc,binaryfiles,C,Gcc,Binaryfiles,编译后,我是否可以查看结构的值objdump-td给出函数定义和存储结构的地址。问题是,当我运行程序时,结构中的一个线程/函数的地址错误。目标mcu是lpc1347(ARM Cortex-m3)。objdump解析对象文件(编译器的产品),这些文件是可重新定位(不可执行)的ELF文件。在这个阶段,不存在这样的概念,即这些编译后的片段将运行的内存地址 您有以下几种可能性: 将*.obj文件链接到最终的非剥离(传递给编译器)可执行ELF映像中,并使用readelf对其进行解析 通过将-Wl,-ma
objdump-td
给出函数定义和存储结构的地址。问题是,当我运行程序时,结构中的一个线程/函数的地址错误。目标mcu是lpc1347(ARM Cortex-m3)。objdump
解析对象文件(编译器的产品),这些文件是可重新定位(不可执行)的ELF文件。在这个阶段,不存在这样的概念,即这些编译后的片段将运行的内存地址
您有以下几种可能性:
- 将
文件链接到最终的非剥离(传递给编译器)可执行ELF映像中,并使用*.obj
对其进行解析readelf
- 通过将
添加到-Wl,-map,file.map
生成链接器映射文件,并查看映射文件中数据所在的输出部分和地址LDFLAGS
- 使用调试器/gdb