如何核心奔潰???

2021-07-09 09:55:38 字數 643 閱讀 6772

while (1) fork();

和任何死迴圈都不能崩潰啊。只是無法跳出而已啊。

空指標倒是讓記憶體溢位可以產生segmentation fault的錯誤,但是不會重啟。

用alt+sysrq+c前需要先啟用這個功能:

echo 1 > /proc/sys/kernel/sysrq

也可以直接

echo 'c' > /proc/sysrq-trigger

openwrt的系統中,直接可以使用此功能,使核心奔潰,系統重啟。

這兩個方法都可以強制核心崩潰,但是否會產生dump還要取決於有沒有正確配置netdump/kdump/diskdump等工具。

#include  #include  #include  #include #define kmalloc_size	4096

int kernel_killer_init(void)

} return 0;

}void kernel_killer_cleanup(void)

module_init(kernel_killer_init);

module_exit(kernel_killer_cleanup);

此方法,也可以直接使系統奔潰,導致重啟。

free奔潰原因

執行時程式崩潰的問題,定位到了是free p 這個語句出錯誤,找了半天資料解決了,現在寫下一點自己的總結。這個問題有可能是以下4個原因構成,一一排查一般都可以解決 釋放乙個空指標,這個就不用多說了,短點除錯不會也會列印吧 printf x p 可以列印出16進製制數 重複釋放,這個問題也很好解決,在...

iOS奔潰資訊收集

1,程式某處拋了乙個異常,卻未 獲,會導致std terminate函式被呼叫,std terminate呼叫std terminate handler型別的終止處理器,預設的終止處理器呼叫abort函式終止程式 2,程序收到乙個預設終止程序的訊號,大多數訊號的預設行為都是終止程序 針對第一種情況,...

程式奔潰的原因

常出現程式崩潰的幾種狀況1 記憶體越界 具體的 形式可為陣列下標越界和指標移動越界,在操作乙個陣列或是指標之前,要明確其邊界範圍,不應訪問不屬於系統分配的記憶體區域。2 指標為空 即此時通過指標訪問的記憶體位址為0,這個位址系統是不允許訪問的,系統也不會分配位址為0的記憶體給程式,這屬於一種特殊的記...