C 使用gdb而不使用“编译”-g";旗帜

C 使用gdb而不使用“编译”-g";旗帜,c,gcc,gdb,C,Gcc,Gdb,如果在编译时没有“-g”标志的可执行文件上使用gdb,您仍然可以调试吗?如果是这样,与调试使用“-g”编译的可执行文件相比,您会看到什么区别?在gcc中添加-g选项可添加调试符号和信息。然后,在调试时,显示的信息更易于人阅读 从 -g 以操作系统的本机格式(STAB、COFF、XCOFF或DWARF)生成调试信息。GDB可以使用此调试信息 在大多数使用stabs格式的系统上,-g允许使用只有GDB才能使用的额外调试信息;这些额外的信息使GDB中的调试工作更好,但可能会使其他调试器崩溃或拒绝读取程

如果在编译时没有“-g”标志的可执行文件上使用
gdb
,您仍然可以调试吗?如果是这样,与调试使用“-g”编译的可执行文件相比,您会看到什么区别?

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

-g

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

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


例如,对于使用
-g
编译的二进制文件,在
gdb
中运行可以显示函数名,而如果没有
-g
,则只能看到函数指针(地址)。

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

-g

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

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


例如,对于使用
-g
编译的二进制文件,在
gdb
中运行可以显示函数名,而如果没有
-g
,则只能看到函数指针(地址)。

是的,可以。你试过了吗?是的,你可以。你试过了吗?