使用gdb而不使用"-g"标志进行编译

Kat*_*Kim 1 c gcc gdb

如果你使用gdb没有"-g"标志编译的可执行文件,你还可以调试吗?如果是这样,与调试使用"-g"编译的可执行文件相比,您会看到什么区别?

Sou*_*osh 6

添加-g选项gcc可以添加调试符号和信息.然后,在调试时,显示的信息更易于阅读.

在线手册

-G

以操作系统的本机格式(stabs,COFF,XCOFF或DWARF)生成调试信息.GDB可以使用此调试信息.

在大多数使用stabs格式的系统上,-g允许使用只有GDB才能使用的额外调试信息; 这些额外的信息使调试在GDB中更好地工作,但可能使其他调试器崩溃或拒绝读取程序.如果要确定是否生成额外信息,请使用-gstabs +, - gstabs,-gxcoff +, - gxcoff或-gvms

例如,对于二进制文件,使用编译-g,运行中gdb可以显示函数名称而不使用-g,您将只看到函数指针(地址).