考虑一个现场案例,我们不会提供使用gdb标志构建的图像。 现在是否有任何链接或文档或任何类似的东西,这有助于 调试在该字段中生成的核心文件。(请记住,该图像不是使用-g gdb标志构建的。)
一些指针真的很有用!!
答案 0 :(得分:3)
更好的解决方案是始终使用-g构建程序(至少GCC不会禁止优化)。然后,您可以使用objcopy创建您未随产品一起提供的separate debug files,以及剥离的二进制文件。
然后,当您从存在调试符号的开发机器上的字段加载核心时,GDB将从单独的文件加载调试符号。在该字段中,调试符号文件不存在,因为您没有发送它们,因此调试信息不可用。
如果适用,您还可以使用符号文件创建DVD或USB密钥,以便技术人员可以带上符号来分析现场核心文件。
答案 1 :(得分:0)
您需要使用-g
构建可执行文件(您也可以指定-O
)。然后,您发送可执行文件的剥离版本(man strip
)。任何核心文件都将与这两个版本兼容。