现在的位置: 首页 > 综合 > 正文

段错误之痛

2013年10月29日 ⁄ 综合 ⁄ 共 503字 ⁄ 字号 评论关闭

什么是段错误?

所谓的段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应的段限和页面交换还有程序运行级别还有内存粒度等等的信息。一旦一个程序发生了越界访问,cpu就会产生相应的异常保护,于是segmentation fault就出现了

http://www.linuxforum.net/forum/gshowflat.php?Cat=&Board=program&Number=193239&page=2&view=collapsed&sb=5&o=all&fpart=1&vc=1

 [精华] Segment fault 之永远的痛 

可恶的"Segmentation faults"之初级总结篇 

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

GDB真的很有用! 

抱歉!评论已关闭.