-g、-ggdb、-g3和-ggdb3之间的区别

本文详细解释了GCC编译器中-g和-ggdb选项的区别,以及3这个debug级别产生的额外信息,旨在帮助开发者根据需求选择合适的debug选项进行代码调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        -g和-ggdb之间只有细微的区别。

       具体来说,-g产生的debug信息是OS native format, GDB可以使用之。而-ggdb产生的debug信息更倾向于给GDB使用的。

       所以,如果你用的GDB调试器,那么使用-ggdb选项。如果是其他调试器,则使用-g。


       3只是级别。这个级别会产生更多的额外debug信息。3这个级别可以调试宏。


参考:

       http://stackoverflow.com/questions/668962/what-is-the-difference-between-gcc-ggdb-and-gcc-g

       https://gcc.gnu.org/ml/gcc-help/2009-02/msg00130.html

       https://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Debugging-Options.html#Debugging-Options



# load bazelrc from the legacy location # as recommended in https://github.com/bazelbuild/bazel/issues/6319 try-import %workspace%/tools/bazel.rc try-import %workspace%/.apollo.bazelrc # Use our custom-configured c++ toolchain. build --config=gpu build --compilation_mode=opt # Use --cpu as a differentiator. build:orin_config --cpu=aarch64 build:orin_config --copt="-DBYD_ORIN" build:strip --copt="-g3" build:strip --copt="-ggdb" build:asan --copt="-fsanitize=address" build:asan --copt="-fsanitize-recover=address" build:asan --linkopt="-fsanitize=address" build:asan --linkopt="-fsanitize-recover=address" build:diag --config=orin_config build:diag --define=CHECK_MEMLEAK=true build:diag --cxxopt="-DCHECK_MEMLEAK=1" build:diag --copt="-fno-omit-frame-pointer" build:diag --cxxopt="-fno-omit-frame-pointer" build:orin2_config --config=orin_config build:orin2_config --define=use_dimw_libs=true build:orin2_config --cxxopt="-DUSE_DIMW_LIBS" build:orin2a_config --config=orin_config build:orin2a_config --define=platform_orin2a=true build:orin3_config --config=orin_config build:orin3_config --define=platform_orin3=true build:orin2x2_config --config=orin_config build:orin2x2_config --define=platform_orin2x2=true build:orinx2_config --config=orin_config build:orinx2_config --define=platform_orinx2=true build:orinx2b_config --config=orin_config build:orinx2b_config --define=platform_orinx2b=true build:orinx2b_config --copt="-DBYD_X2B" build:orinx2b_ovrs_config --copt="-DBYD_OVRS" build:orinx2b_ovrs_config --config=orin_config build:orinx2b_ovrs_config --define=platform_orinx2b_ovrs=true build:j6m_config --cpu=aarch64 build:j6m_config --define=platform_j6m=true build:j6m_config --copt="-DBYD_J6" build:idc --define=software_idc=true build:idc --define=use_dimw_libs=true build:idc --cxxopt="-DUSE_DIMW_LIBS" # build:idc --copt="-DBYD_X2B" build:ird --define=software_ird=true build:release_build --define=release_build=true # build:release_build --copt="-DBYD_X2B" build:repo_release_build --config=release_build build:repo_release_build --define=framework_release_build=true build:repo_release_build --copt="-Icyber_release" build:repo_release_build --copt="-Ibazel-out/k8-opt/bin/cyber_release/" build:repo_release_build --copt="-Ibazel-out/aarch64-opt/bin/cyber_release/" build:repo_release_build --copt="-Wuninitialized" build:repo_release_build --copt="-Wall" build:repo_release_build --copt="-Wextra" build:release_mode --define=RELEASE_MODE=true build:release_mode --cxxopt="-DRELEASE_MODE" 解释下都是什么,DBYD_X2B的编译我如果把相关的命令屏蔽了,会发生什么
最新发布
08-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值