Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 软件时空 > 软件相关 > 关于SIGSEGV错误及处理方法
【标  题】:关于SIGSEGV错误及处理方法
【关键字】:SIGSEGV
【来  源】:http://www.cublog.cn/u/13279/showart.php?id=110663

关于SIGSEGV错误及处理方法

Your Ad Here
今天编程遇到了SIGSEGV错误,比较困惑,所以找了些资料,总结一下:
(1)官方说法是:
SIGSEGV --- Segment Fault. The possible cases of your encountering this error are:

1.buffer overflow --- usually caused by a pointer reference out of range.

2.stack overflow --- please keep in mind that the default stack size is 8192K.

3.illegal file access --- file operations are forbidden on our judge system.
 
 
(2)SIGBUS与SIGSEGV信号的一般区别如下:

1) SIGBUS(Bus error)意味着指针所对应的地址是有效地址,但总线不能正常使用该指针。通常是未对齐的数据访问所致。

2) SIGSEGV(Segment fault)意味着指针所对应的地址是无效地址,没有物理内存对应该地址。
 
 
(3)Linux的mmap(2)手册页

--------------------------------------------------------------------------
使用映射可能涉及到如下信号

SIGSEGV

    试图对只读映射区域进行写操作

SIGBUS

    试图访问一块无文件内容对应的内存区域,比如超过文件尾的内存区域,或者以前有文件内容对应,现在为另一进程截断过的内存区域。
--------------------------------------------------------------------------
 
 
弄清楚错误以后,就要查找产生错误的根源,一般我用以下两种方法:
(1)gcc -g 编译 
     ulimit -c 20000 
     之后运行程序,等core dump 
     最后gdb -c core <exec file> 
     来查调用栈
(2)使用strace execfile,运行程序,出错时会显示那个系统调用错
如何选择一个好的服务器托管租用商!!!!:【上一篇】
C++入门学习"继承":【下一篇】
【相关文章】
  • 理解SIGBUS与SIGSEGV
  • 【随机文章】
  • 优秀的计算机网络及论坛共享!
  • 微软的远程处理框架.NET Remoting(2)
  • 抢先体验最新版天网防火墙(2)
  • 网友质问:腾讯QQ七宗罪
  • 如何不允许用户使用浏览器的『后退按钮』查看前面缓存下来的页面。
  • 软件工程心理学之3---甲方项目负责人 PK 乙方
  • 串口通讯基础及S3C2410 UART控制器 (转)
  • CS相关书籍的书评[转载]
  • 变态级JAVA程序员面试32问
  • .NET 框架中的 XML:在 .NET 框架中使用 XML 架构执行代码生成(2)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.