所謂的段錯誤就是指訪問的內存超出了系統所給這個程序的內存空間,通常這個值是由gdtr來保存的,
他是一個48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相應于gdt的下標,最后3位
包括了程序是否在內存中以及程序的在cpu中的運行級別,指向的gdt是由以64位為一個單位的表,在這
張表中就保存著程序運行的代碼段以及數據段的起始地址以及與此相應的段限和頁面交換還有程序運
行級別還有內存粒度等等的信息。一旦一個程序發生了越界訪問,cpu就會產生相應的異常保護,于
是segmentation fault就出現了。
posted on 2011-03-20 16:32
chatler 閱讀(708)
評論(0) 編輯 收藏 引用 所屬分類:
Linux_Coding