有没有办法强制gcc
只生成足够addr2line
实用的完整调试信息的子集?或者有什么方法可以去掉不需要的?我试过了
$ objcopy --only-keep-debug --remove-section=.debug_loc --remove-section=.debug_aranges --remove-section=.debug_frame my-elf-file
有什么可以除掉的吗?
你想要-g1
。这会为回溯生成最少的调试信息。从手册:
级别 1 产生的信息最少,足以在您不打算调试的程序部分中进行回溯。这包括函数和外部变量的描述,以及行号表,但没有关于局部变量的信息。
您还可以在事后剥离一些调试信息。gdb "MiniDebugInfo" 文档中描述了一种方法。