歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Linux下用GDB調試可加載模塊

參考文章:http://www.linuxidc.com/Linux/2013-01/77969p2.htm

這篇文章主要是對參考文章的簡單整理,大同小異。

首先,需要在編譯模塊時加入調試信息。兩種方式,一種是編譯時使用“make COPTS-g”,另一種是用“gcc -g”作為“gcc”的別名。

第二步,插入模塊,找到模塊的加載位置。原文是用kldstat命令,linux下沒找到,但是可以通過

 “cat /proc/modules | grep test”(假設模塊名稱為test.ko,注意不要帶".ko")找到模塊的加載地址,如下圖所示:

第三步,找到代碼段(.text段)的偏移量,如下圖所示:


偏移量是.text對應的行中第四個十六進制字段(或者說從左往右數第六個字段)是.text段在文件中的偏移量。將這一偏移量與模塊中的加載地址相加,就可以找到模塊的代碼在重定向之後的地址了。在我們的例子中,可以得到0xffffffffa001b000 + 0x00000040 = 0xFFFFFFFFA001B040。 

最後的操作如下圖所示: 
Copyright © Linux教程網 All Rights Reserved