2013-07-29 105 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關於編譯器或內核。