歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux內核

Eclipse CDT + QEMU 調試Linux內核

有關調試的好處我想大家都不言自明了。本文章摘自原文,但加入了原文中沒有說明的一些細節內容。

我的系統環境是:Ubuntu 9.10 + eclipse-cpp-galileo-SR1-linux-gtk.tar.gz + QEMU 0.11.0

有關系統環境我要交代一下。因為在ubuntu下找不到eclipse cdt的源,所以要先 apt-get 一個eclipse paltform然後在裡面選擇更新安裝cdt才能安裝成功。但在eclipse platform 裡更新比較容易失敗,所以我推薦大家安裝openSUSE 11.0,在這裡面只要到eclipse.org下載一個eclipse c/c++ ide ,直接解壓便可運行。

文章開始!

1.首先我們要從www.kernel.org下載內核源碼,在這裡我選擇的是 linux-2.6.28.tar.bz2。我將其下載到我的主目錄下,然後在xterm下輸入以下命令。

$ cd (回到主目錄)

$ tar xf linux-2.6.28.tar.bz2 (解壓源碼)

$ mkdir linux-2.6.28-obj (創建一個編譯內核的目標文件輸出目錄)

$ cd linux-2.6.28 (進入內核源碼樹根目錄)

$ make O=/home/xxx/linux-2.6.28-obj menuconfig (這裡我們要配置內核,並在~/linux-2.6.28-obj目錄下生成內核配置文件.config) (注意:這裡的xxx表示的是你的用戶名)

注意在這裡我們要選擇kernel hacking 配置菜單下的

"Compile the kernel with debug info" 和 "Compile the kernel with frame pointers"

 如下圖:

2. 接下來我們打開elicpse,第一次打開時有一個歡迎畫面,

我們單擊右邊的workbench圖片關掉歡迎畫面。由於eclipse cdt是一個非常強大的c/c++ ide,它默認會自動的解析工程中源程序並編譯工程和產生智能提示信息。但由於我們調試內核過程中暫不會用到這些功能,所以要關閉他們。

首先我們到Window->Preferences->General->Workspace 中將Build Automatically選項去掉。

 然後到Window->Preferences->C/C++ -> Indexer中,將默認的Fast c/c++ indexer改為No indexer。

 然後我們開始創建一個新的工程。

 從菜單中選擇File -> New -> Project... -> C/C++ -> C Project 然後單擊Next按鈕。

 這時出現一個對話框,在Project Name 一欄填入一個工程名,比如 linux-kernel. 然後將 Use default location 選項給勾掉。在Location一欄填入剛才解壓的內核源碼的路徑。Project type選擇Makefile project -> Empty project。Toolchains 選擇 Linux GCC.最終結果如下圖所示:

Copyright © Linux教程網 All Rights Reserved