-1

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

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

有什么可以除掉的吗?

4

1 回答 1

3

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

级别 1 产生的信息最少,足以在您不打算调试的程序部分中进行回溯。这包括函数和外部变量的描述,以及行号表,但没有关于局部变量的信息。

您还可以在事后剥离一些调试信息。gdb "MiniDebugInfo" 文档中描述了一种方法。

于 2016-02-24T18:57:42.733 回答