下载此beplayapp体育下载

Linux下段错误Segmentationfault产生原因及调试方法经典.docx


beplayapp体育下载分类:办公beplayapp体育下载 | 页数:约6页 举报非法beplayapp体育下载有奖
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该beplayapp体育下载所得收入归上传者、原创者。
  • 3.下载的beplayapp体育下载,不会出现我们的网址水印。
1 / 6 下载此beplayapp体育下载
beplayapp体育下载列表 beplayapp体育下载介绍
Linux下段错误Segmentationfault产生原因及调试方法经典.docxLinux下段错误Segmentationfault产生原因及调试方法经典
Linux下段错误Segmentationfault产生原因及调试方法经典
1 / 6
Linux下段错误Segmentationfault产生原因及调试方法经典
Linux 下的段错误( Segmentation fault )产生的原由及调试方法(经典)
2009-04-05 11:25
简而言之 ,产生段错误就是接见了错误的内存段,一般是你没有权限,或许根本就不
存在对应的物理内存

,特别常有的是接见 0地点 .
Linux下段错误Segmentationfault产生原因及调试方法经典
Linux下段错误Segmentationfault产生原因及调试方法经典
6 / 6
Linux下段错误Segmentationfault产生原因及调试方法经典
一 般来说 ,段错误就是指接见的内存高出了系统所给这个程序的内存空间,往常这
个值是由 gdtr 来保留的,他是一个 48位的存放器,此中的 32位是保留由它指 向的 gdt 表,后
13位保留相应于 gdt 的下标,最后 3位包含了程序能否在内存中以及程序的在 cpu 中的运转级
别,指向的 gdt 是由以 64位为一个单位的 表,在这张表中就保留着程序运转的代码段以及数据
段的开端地点以及与此相应的段限和页面互换还有程序运转级别还有内存粒度等等的信息。
一旦一个程序发生了 越界接见, cpu 就会产生相应的异样保护,于是 segmentation fault 就出
现了 .
Linux下段错误Segmentationfault产生原因及调试方法经典
Linux下段错误Segmentationfault产生原因及调试方法经典
6 / 6
Linux下段错误Segmentationfault产生原因及调试方法经典
在编程中以下几类做法简单致使段错误 ,基本是是错误地使用指针惹起的
1)接见系统数据区,特别是往 系统保护的内存地点写数据
最常有就是给一个指针以 0地点
2)内存越界 (数组越界,变量种类不一致等 ) 接见到不属于你的内存地区
解决方法
我 们在用 C/C++ 语言写程序的时侯, 内存管理的绝大多数工作都是需要我们来做的。 实质上,
内存管理是一个比较繁琐的工作,不论你多高妙,经验多丰富,难 免会在此处犯些小错误,
而往常这些错误又是那么的浅易而易于除去。可是手工 “除虫 ”( debug),常常是效率低下且
让人讨厌的,本文迁就 " 段错误 "这个 内存接见越界的错误说说怎样迅速定位这些 " 段错误 "的
语句。
下边迁就以下的一个存在段错误的程序介绍几种调试方法:
1 dummy_function (void)
2 {
3 unsigned char *ptr = 0x00;
4 *ptr = 0x00;
}
int main (void)
{
9
dummy_function ();
10
11

Linux下段错误Segmentationfault产生原因及调试方法经典 来自beplayapp体育下载www.apt-nc.com转载请标明出处.

相关beplayapp体育下载 更多>>
非法内容举报中心
beplayapp体育下载信息
  • 页数6
  • 收藏数0收藏
  • 顶次数0
  • 上传人春光明媚
  • 文件大小26 KB
  • 时间2022-01-06