如何从 image/binary 文件中检查结构的值?
How to check the values of a struct from an image/binary file?
我是否可以在编译后查看结构的值? objdump -td
给出了函数定义,只给出了结构存储的地址。问题是当我 运行 一个程序时,我得到了结构中 threads/functions 之一的错误地址。目标单片机是lpc1347 (ARM Cortex-m3)。
objdump
解析目标文件(编译器的产品),这些文件是可重定位(不可执行)的 ELF 文件。在这个阶段,没有这些编译片段将 运行 处的内存地址这样的概念。
你有以下可能:
- Link 你的
*.obj
文件到最终的非剥离(-g
传递给编译器)可执行 ELF 映像并使用 readelf
.[=25= 解析它]
- 通过将
-Wl,-Map,file.map
添加到您的 LDFLAGS
来生成链接器映射文件,并查看映射文件中数据所在的输出部分和地址。
- 使用 debugger/gdb.
我是否可以在编译后查看结构的值? objdump -td
给出了函数定义,只给出了结构存储的地址。问题是当我 运行 一个程序时,我得到了结构中 threads/functions 之一的错误地址。目标单片机是lpc1347 (ARM Cortex-m3)。
objdump
解析目标文件(编译器的产品),这些文件是可重定位(不可执行)的 ELF 文件。在这个阶段,没有这些编译片段将 运行 处的内存地址这样的概念。
你有以下可能:
- Link 你的
*.obj
文件到最终的非剥离(-g
传递给编译器)可执行 ELF 映像并使用readelf
.[=25= 解析它] - 通过将
-Wl,-Map,file.map
添加到您的LDFLAGS
来生成链接器映射文件,并查看映射文件中数据所在的输出部分和地址。 - 使用 debugger/gdb.