2013-07-29 44 views
2

我在嵌入式板(Linux 内核2.6.39.2)上运行应用程序。该应用程序以C语言编写,并由具有核心转储标志的工具链编译(-g)。GDB +另一个编译器生成的核心转储文件

当它崩溃时(分段错误)它会生成核心转储文件。但是该主板没有安装gdb。

如何分析我的Linux机器上的这个core-dump文件(kernel 3.2.0-36-generic-pae和GNU gdb(Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1))?有任何选项可以传递给我的机器上的gdb,指示工具链编译器和应用程序运行的内核?

回答

1

您必须确保远程程序正在使用的所有库(以及希望它们的debuginfo)可用于本地gdb。他们必须是完全相同的版本。然后,最简单的方法是在将核心文件加载到gdb之前使用“set sysroot”。你不需要告诉gdb关于编译器或内核。