我使用g ++编译器编译了产品源代码,并提供了选项-ggdb以获取对gdb调试的访问权限。但它的文件大小比没有-ggdb编译的文件大一些。请解释一下-ggdb在实际二进制文件中包含的内容?即,没有-ggdb选项的二进制编译。
答案 0 :(得分:0)
请解释一下-ggdb在实际二进制文件中包含的内容?
查看readelf -WS a.out
对两个二进制文件的输出。
你会发现GCC添加了一些大的.debug_*
部分,其中包含调试器所需的信息,用于将二进制文件中的代码地址映射到源文件和行,将数据地址映射到变量名等等。 / p>