自己用服務器從來沒有發現過系統的問題,但嵌入式上面就經常出問題,最頭痛的就是一個指標越界就可能導致系統重啟,請問這是內核被裁剪了的原因嗎,具體是裁剪了哪部分呢,為啥把這么關鍵的東西裁剪掉呢?大神幫忙分析一下
uj5u.com熱心網友回復:
...記憶體越界訪問,你怎么會認為是系統的原因?不是代碼的問題嗎?uj5u.com熱心網友回復:
我知道記憶體越界不是系統原因,但指標越界系統就重啟不很難受嗎,指標越界不是一種常見的程式錯誤嗎,程式崩潰就可以了,為啥整個作業系統都要重啟呢,是不明白這個問題
uj5u.com熱心網友回復:
大概率是系統關鍵行程內發生了越界吧?嵌入式系統有很多,也不是所有的都會因為記憶體越界就重啟,多數 linux 系統的,都是行程 crash,如果是服務行程就會重啟行程。先說是什么系統吧。
uj5u.com熱心網友回復:
...記憶體越界訪問,你怎么會認為是系統的原因?不是代碼的問題嗎?
我知道記憶體越界不是系統原因,但指標越界系統就重啟不很難受嗎,指標越界不是一種常見的程式錯誤嗎,程式崩潰就可以了,為啥整個作業系統都要重啟呢,是不明白這個問題
大概率是系統關鍵行程內發生了越界吧?嵌入式系統有很多,也不是所有的都會因為記憶體越界就重啟,多數 linux 系統的,都是行程 crash,如果是服務行程就會重啟行程。先說是什么系統吧。
系統是aarch64-linux的。。估計您也沒聽說過吧,行程就是普通的用戶行程,確實不是每次越界都會重啟,但一旦重啟就很難定位,沒啥錯誤列印,直接就進入重啟流程了,總之對開發很不友好,所以就很好奇x86是通過什么機制保障崩潰不重啟的
uj5u.com熱心網友回復:
...記憶體越界訪問,你怎么會認為是系統的原因?不是代碼的問題嗎?
我知道記憶體越界不是系統原因,但指標越界系統就重啟不很難受嗎,指標越界不是一種常見的程式錯誤嗎,程式崩潰就可以了,為啥整個作業系統都要重啟呢,是不明白這個問題
大概率是系統關鍵行程內發生了越界吧?嵌入式系統有很多,也不是所有的都會因為記憶體越界就重啟,多數 linux 系統的,都是行程 crash,如果是服務行程就會重啟行程。先說是什么系統吧。
系統是aarch64-linux的。。估計您也沒聽說過吧,行程就是普通的用戶行程,確實不是每次越界都會重啟,但一旦重啟就很難定位,沒啥錯誤列印,直接就進入重啟流程了,總之對開發很不友好,所以就很好奇x86是通過什么機制保障崩潰不重啟的
aarch64-linux 你這名字只能看出來是64位arm架構的linux,內核版本和cpu平臺呢?每次系統例外重啟都會保存系統日志,不如先查一下重啟的原因?
uj5u.com熱心網友回復:
...記憶體越界訪問,你怎么會認為是系統的原因?不是代碼的問題嗎?
我知道記憶體越界不是系統原因,但指標越界系統就重啟不很難受嗎,指標越界不是一種常見的程式錯誤嗎,程式崩潰就可以了,為啥整個作業系統都要重啟呢,是不明白這個問題
大概率是系統關鍵行程內發生了越界吧?嵌入式系統有很多,也不是所有的都會因為記憶體越界就重啟,多數 linux 系統的,都是行程 crash,如果是服務行程就會重啟行程。先說是什么系統吧。
系統是aarch64-linux的。。估計您也沒聽說過吧,行程就是普通的用戶行程,確實不是每次越界都會重啟,但一旦重啟就很難定位,沒啥錯誤列印,直接就進入重啟流程了,總之對開發很不友好,所以就很好奇x86是通過什么機制保障崩潰不重啟的
aarch64-linux 你這名字只能看出來是64位arm架構的linux,內核版本和cpu平臺呢?每次系統例外重啟都會保存系統日志,不如先查一下重啟的原因?
遇到幾次了,系統日志也分析過,有SIGSEGV 指標越界的,有OOM記憶體耗盡的,最近這次是提示收到了了SIGPIPE,但最終定位發現是出現了除數為0的情況,現在問題是解決了,就像探究一下為啥就非得重啟,x86到底高在哪兒了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/214374.html
標籤:其它技術問題
