地图文件规范?

时间:2010-06-10 09:30:13

标签: debugging gcc

创建调试工具。 我需要GCC编译器的MAP文件结构规范。 为了找到内存如何映射不同数据类型的不同变量(类,内部类,静态,静态const,extern,模板,MAP文件中的typedef变量规范)。 而且我想知道如何将符号添加到不同的变量以区分MAP文件的方式。 告诉我继续前进的方法。

1 个答案:

答案 0 :(得分:0)

不要认为您需要了解详细的MAP文件格式,-Wl和--print-map应该足以从编译器获取可读的文本地图数据。

$ cat x.c | grep alpha
int alpha = one;
  int c = do_operation(alpha, b);
  printf( "%d op %d = %d\n", alpha, b, c);

$ g++ -Wl,--print-map ./x.c  | grep -P "(alpha|printf)"
                0x00000000080483f0                printf@@GLIBC_2.0
                0x000000000804a018                alpha

上面你可以看到x.c包含变量“alpha”的声明,也使用“printf”。正如您所见,地址可通过--print-map paramater

获得

希望这有帮助。