2
我有一個編譯了KDB的內核。我可以使用/proc/sysrq-trigger
和全部觸發它,但是我希望能夠從內核代碼明確地輸入KDB,而不必重新編譯內核恐慌,這會讓我的系統陷入混亂。喜歡的東西:如何從內核代碼中觸發KDB?
if (interesting_condition)
enter_kdb();
有沒有在內核中有類似的功能或更好的方法來從它觸發KDB比做一個頁面錯誤?
我有一個編譯了KDB的內核。我可以使用/proc/sysrq-trigger
和全部觸發它,但是我希望能夠從內核代碼明確地輸入KDB,而不必重新編譯內核恐慌,這會讓我的系統陷入混亂。喜歡的東西:如何從內核代碼中觸發KDB?
if (interesting_condition)
enter_kdb();
有沒有在內核中有類似的功能或更好的方法來從它觸發KDB比做一個頁面錯誤?
KDB_ENTER()
就這麼簡單。
不幸的是,這似乎並不存在於最新的內核源代碼中。 git grep KDB_ENTER不會返回任何有意義的內容。 – Gnurou 2012-03-01 02:17:24
它應該在平臺相關頭文件('/ include/asm-xxx/kdb.h')中。我不知道git,但lxr.linux.no不顯示這些標題。在我的Linux 2.6中,它存在於i386和x86_64中。 – ugoren 2012-03-01 09:03:14
還是不行。我正在爲ARM編譯,內核爲2.6.39。但是我發現'kgdb_breakpoint'確實有效。 – Gnurou 2012-03-02 04:35:53