2012-05-11 142 views
2

我需要一些操作完成後,恐慌的內核,並確認沒有如何從用戶空間

有人能幫什麼操作我知道如果有什麼辦法恐慌內核?我搜索了很多,但沒有運氣

我找了一些通用的提前致電

的感謝!

+0

只需編寫一個驅動程序,在調用時將訪問無效內存。或者拔下機器。 –

+0

你正在使用哪個操作系統? – simonc

+0

假設Linux:http://www.linuxforu.com/2011/02/debug-kernel-panics-with-crash/ – Artefact2

回答

2

較高的地址範圍映射到內核。如果你在那裏寫東西,例如說0xFFFFFF7內核退出你的進程與分段錯誤抱怨非法內存位置被訪問。 在用戶登陸過程中,你的過程更像是一個沙盒,任何非法訪問你的進程以外的內存都會被內核因爲違反分段錯誤而終止你的進程。

爲了讓內核恐慌,您可以嘗試通過調用syscntl sys調用來設置一些錯誤的硬件寄存器。

+0

是的,這是真的,但我不' t想要我的進程的核心轉儲我需要探索一下如何使用syscntl我的目的 –

+0

你有沒有試過這個任何時間?anyhint? –

+0

我已經修復了錯誤的參數syscntl寄存器操作的結果錯誤: ) –

5

你可以嘗試sysrq trigger

echo c > /proc/sysrq-trigger 

'C' - 將一個空指針引用執行系統崩潰。 如果已配置,將執行故障轉儲。

+0

但如果我不在Linux上?我正在考慮跨許多操作系統HP/AIX/Linux/Sol /等等的通用代碼。可能是一個小驅動程序會沒事的。但我試圖探索是否有一些常見的可用:( –

+1

@cnicutar和sysctl sys.kernel.sysrq必須設置爲1 –

+0

@tsurko這是正確的或sysrq魔術被禁用 – cnicutar