Segmentation fault (coredump)的解決

gaoyj1973發表於2007-09-18

這是搜到的一個關於segmentation fault 的網頁:

http://oss.lzu.edu.cn/blog/article.php?tid_700.html

有概念的解釋,可能出現segmentation fault的一些情況的舉例,對於查詢segmentation fault還是具有提示作用的,在這裡記錄一下。

所謂的段錯誤就是指訪問的記憶體超出了系統所給這個程式的記憶體空間,通常這個值是由gdtr來儲存的,他是一個48位的暫存器,其中的32位是儲存由它指向的gdt表,後13位儲存相應於gdt的下標,最後3位包括了程式是否在記憶體中以及程式的在cpu中的執行級別,指向的gdt是由以64位為一個單位的表,在這張表中就儲存著程式執行的程式碼段以及資料段的起始地址以及與此相應的段限和頁面交換還有程式執行級別還有記憶體粒度等等的資訊。一旦一個程式發生了越界訪問,cpu就會產生相應的異常保護,於是segmentation fault就出現了

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267897/viewspace-969945/,如需轉載,請註明出處,否則將追究法律責任。

相關文章