2

我正在嵌入式板上(Linux内核 2.6.39.2)上运行应用程序。该应用程序是用 C 语言编写的,并由带有核心转储标志 ( -g ) 的工具链编译。

当它崩溃(Segmentation Fault)时,它会生成core-dump 文件。但是该板没有安装 gdb。

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

4

1 回答 1

1

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

于 2013-07-29T19:34:47.823 回答