我是使用GDB調試器的新手。我正在關注鏈接http://www.linuxforu.com/2011/01/understanding-a-kernel-oops/ 我使用相同的代碼和相同的Makefile
。 Syslogd正在運行,並且CONFIG_DEBUG_INFO
設置爲y
。但是,我仍然不成功。當我打開.ko
文件與GDB我得到的消息GDB用於調試Linux設備驅動程序
沒有調試符號找到
,當我使用list*
命令,我得到
沒有找到符號表。
請幫我一把。
謝謝!
我是使用GDB調試器的新手。我正在關注鏈接http://www.linuxforu.com/2011/01/understanding-a-kernel-oops/ 我使用相同的代碼和相同的Makefile
。 Syslogd正在運行,並且CONFIG_DEBUG_INFO
設置爲y
。但是,我仍然不成功。當我打開.ko
文件與GDB我得到的消息GDB用於調試Linux設備驅動程序
沒有調試符號找到
,當我使用list*
命令,我得到
沒有找到符號表。
請幫我一把。
謝謝!
在編譯模塊時,您可以嘗試添加-g
選項。該選項應該生成調試符號。 不能準確地說出爲什麼你的標誌'CONFIG_DEBUG_INFO'不起作用。
我試過讓CFLAGS = -g。但結果是一樣的 – user1395806
你能複製粘貼你的Makefile嗎? –
我使用鏈接http://www.linuxforu.com/2011/01/understanding-a-kernel-oops/ – user1395806
這可能是樹木驅動的怪癖之一。使用
CONFIG_DEBUG_INFO = 1請
當你建立你的驅動程序可以讓你的調試符號。
「文件oops.ko」(或任何.ko文件被調用)的輸出是什麼? – wallyk
當我insmod oops.ko我得到的輸出「殺死」,當我做dmesg我得到內核哎呀消息 – user1395806
請執行命令'文件whatever_the_name_is.ko'。它會告訴您調試符號是否存在於文件中。 – wallyk