2012-06-05 47 views
0

我們的應用之一是生成生產核心。但是,由於大多數變量值都顯示爲優化/不包含很多調試信息,所以生成的內核並沒有多大幫助。從Unix生產環境移動核心轉儲到其他開發Unix環境

當我們將核心從生產移至開發環境時,gdb無法成功加載它。我認爲這是由於其他圖書館對生產的依賴。

請讓我知道我們如何能夠將核心從生產移植到開發環境而無需移動其他依賴庫。

在此先感謝

+0

如果開發環境中的系統庫與生產環境中的系統庫不匹配,那麼'gdb'將發出警告,並且可能無法解碼核心文件。 – jxh

回答

1

如果開發環境不匹配,對生產環境的系統庫系統庫,然後將gdb發出警告,並可能無法解碼的核心文件。您應該在程序上運行ldd以查找它所依賴的庫列表,然後將這些庫從生產環境複製到開發環境中。

將相關庫複製到模仿生產環境根目錄結構的目錄結構(假如您願意的話)通常很方便。然後,您可以使用gdb命令set solib-absolute-prefix將其設置爲該假冒根的路徑以找到該庫的位置。

這個問題似乎有關,如果不是another question的重複。

+0

謝謝,但是這個副本將涉及大量的手動工作。我曾經讀過我們可以使用gdb命令核心包來打包這樣的庫。你知道這樣的命令,我試圖尋找同樣的,但無法找到太多..這將是真正有益的,如果你能指導我這個.. – NoName

+0

@編號:我添加了一個鏈接到另一個問題,應該幫助你。 – jxh