• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >LINUX > Linux编程时出现Segmentation fault错误如何解决?

Linux编程时出现Segmentation fault错误如何解决?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-12

佚名 通过本文向大家介绍了segmentation fault,c segmentation fault,segmentation,market segmentation,image segmentation等相关知识,希望对您有所帮助,也希望大家多多支持linkedu.com

有些开发者在Linux下进程编程,使用GDB调试时发现了一个Segmentation fault错误。这个错误主要是访问了错误的内存段引起的,可能是没有权限或者是内存段不存在,这个问题如何处理呢?下面小编将为大家带来Linux编程时出现Segmentation fault错误的处理办法,一起去看看吧。

方法如下:

这个错误是怎么导致的呢?原来是在定义一个char类型的指针,然后就直接对这个指针进行字符串的相关操作。例如:

char *c1;

for(i=0; i《n;i++)

{

*c1 = getchar();

c1++;

}

代码意思大概是这样,这是很多开发者会犯的问题。这个指针危险啊,要谨慎对待,就拿这里来说,这样给指针赋值,我们并不知道这指针指向的是哪里呢,如果写的数据覆盖了关键区域数据那可能会有灾难性的后果,这就是访问了不该访问的地方。解决的办法是什么呢,告诉这个指针到该到的地方,我用malloc为该指针将要指向的字符串申请一段空间,这样就会指明系统分配一段安全的空间,不会在把内存关键区域分给你了。这样你就可以安全操作了。

这个例子告诉我们指针是不能乱用的,如果指针指向错误的内存,导致编程时出现Segmentation fault错误,还可以用上面的办法处理,如果指向其他区域,还会导致更严重的后果。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Linux编程时出现Segmentation fault错误如何解决?

相关文章

  • 2017-05-12Linux下man帮助命令使用全解析
  • 2017-05-12使用John the ripper工具来尝试破解Linux密码
  • 2017-05-12进程的内核栈是什么?浅谈Linux的进程内核栈
  • 2017-05-12Linux中使用cut命令来提取文本的用法指南
  • 2017-05-12用sudo命令无法读取环境变量的解决方法
  • 2017-05-12虚拟机上Linux如何获取主机Windows 7上文件?
  • 2017-05-12Linux使用文本浏览器lynx并显示中文的方法
  • 2017-05-12使用dmidecode获取Linux服务器硬件信息的方法详解
  • 2017-05-12Linux硬盘满了造成的一个bug(ERR_CONNECTION_RESET )
  • 2017-05-12linux Vi编辑器代码高亮设置及永久显示行号的方法

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • Linux中Samba服务器的编译安装以及配置的宏的写法
    • 详解Linux系统中的usr目录
    • 详解Linux下iptables中的DNAT与SNAT设置
    • linux系统不同对象升级方法详细介绍
    • 查看Linux系统版本信息的方法小结
    • Linux上的一款EPUB阅读软件
    • linux下控制帐户过期的多种方法讲解
    • 修改Linux系统VPS主机的DNS的方法
    • 在Linux终端中查看公有IP的方法详解
    • Linux /bin, /sbin, /usr/bin, /usr/sbin 区别

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有