海湾合作委员会。生成有限的调试信息

GCC. Generate limited debug info

有没有办法强制 gcc 只生成足以供 addr2line 实用程序使用的完整调试信息的子集?或者有什么方法可以去除不需要的?我试过了

$ objcopy --only-keep-debug --remove-section=.debug_loc --remove-section=.debug_aranges --remove-section=.debug_frame my-elf-file

还有什么可以剥离的吗?

你想要-g1。这会为回溯生成最少的调试信息。来自手册:

Level 1 produces minimal information, enough for making backtraces in parts of the program that you don't plan to debug. This includes descriptions of functions and external variables, and line number tables, but no information about local variables.

您也可以在事后删除一些调试信息。 the gdb "MiniDebugInfo" documentation.

中描述了一种方法