如何找到<value optimized =“”out =“”>?</value>的数组地址

时间:2014-08-13 06:50:33

标签: c gcc optimization gdb

目前,我无法通过GCC禁用优化。

是否存在一些像objdump,readelf等工具可以帮助我找到值优化的数组地址?

如果我成功,我可以使用GDB将值转储到数组中。

1 个答案:

答案 0 :(得分:1)

如果它是一个静态数组你可以使用一个地图文件:让gcc生成它(使用-Wl,-Map,mymapfile.map)并查找地址(不熟悉gcc地图文件,但该地址)通常是相对于加载二进制文件的地址。否则,如果它在堆上分配,请在malloc中使用断点,检查何时调用它后面的数组大小并检查它返回的指针。或者在两种情况下,正如Alex在评论中指出的那样:检查反汇编中的地址。