我一直在試圖學習Linux內核調試,並創建了一些帶有一些導出符號的示例模塊。Linux內核調試警告:沒有符號表加載
int rday_3 = 30; EXPORT_SYMBOL(rday_3);
做insmod的之後,我能看到我的初始化模塊的dmesg和命令給我裝的象徵。但是,當我運行命令gdb /boot/vmlinuz-3.5.0-23-generic /proc/kcore
,它給出了一個警告從/boot/vmlinuz-3.5.0-23-generic...(no調試符號發現
閱讀符號)......完成。
警告:核心文件可能與指定的可執行文件不匹配。 [新進程1] 核心是由`BOOT_IMAGE =/boot/vmlinuz-3.5.0-23-generic root = UUID = FE4E68E74E689A63 loop =/ubunt'生成的。
0 0x00000000 in ?? ()
(gdb)whatis rday_3
未加載符號表。使用「文件」命令。
然後我在調試模式下在我的Makefile生成的.ko文件中添加了調試標誌。我添加了命令add-symbol-file hello_driver.ko 0x00
。在我得到的結果如
(GDB)頭朝下rday_3
類型= INT
(GDB)p rday_3
在地址0x0無法訪問存儲器
燦任何人都可以幫我解決最新的錯誤,還有什麼我需要補充?