如果对使用" -g"编译的可执行文件使用gdb
;国旗,你还能调试吗?如果是这样,与调试使用" -g"编译的可执行文件相比,您会看到什么区别?
答案 0 :(得分:5)
在-g
中添加gcc
选项可以添加调试符号和信息。然后,在调试时,显示的信息更具人性化。
-g
以操作系统的本机格式(stabs,COFF,XCOFF或DWARF)生成调试信息。 GDB可以使用这些调试信息。
在大多数使用stabs格式的系统上,-g允许使用只有GDB才能使用的额外调试信息;这些额外的信息使调试在GDB中更好地工作,但可能使其他调试器崩溃或拒绝读取程序。如果要确定是否生成额外信息,请使用-gstabs +, - gstabs,-gxcoff +, - gxcoff或-gvms
例如,对于使用-g
编译的二进制文件,在gdb
中运行可以显示函数名称,而没有-g
,您将只看到函数指针(地址)