gdb:什么是用于调试的符号文件

时间:2014-04-09 14:08:00

标签: c++ debugging makefile gdb

我对编译期间生成的文件非常困惑并用于调试。

我知道有两种方法可以在编译代码时存储调试信息。一种是将信息存储在除可执行文件(或目标文件)之外的单独文件中,通常使用.sym扩展名

1-我不知道另一种方法是什么。 (以及哪一个更常用)

2-首先是什么是符号文件? (比调试信息更详细一点)

3-如果我们给它的makefile文件一个巨大的源代码,我们如何确定在“make install”时使用哪种方法

我见过这个thread,但我更加困惑了!

1 个答案:

答案 0 :(得分:2)

  1. 另一种方法是在可执行文件中包含所有调试信息。
  2. 保留功能名称等内容。编译源文件时,它将转换为操作码,并将所有函数名称转换为指针。例如,当你使用gdb时,只需要break main就可以在函数main上中断。当你遇到段错误时它也很有用,你只需输入bt就可以给回溯带来完整的函数名称。
  3. 您只需打开Makefile并搜索安装目标即可。调试信息级别使用gcc -g-gN标志设置。