SIGSEGV 11
SIG是信号名的通用前缀。SEGV是segmentation violation(段违例)的缩写。
在POSIX兼容的平台上,SIGSEGV是当一个进程执行了一个无效的内存引用,或发生段错误时发送给它的信号。SIGSEGV的符号常量在头文件signal.h中定义。因为在不同平台上,信号数字可能变化,因此符号信号名被使用。通常,它是信号#11。
对于不正确的内存处理(见段错误),计算机程序可能抛出SIGSEGV。操作系统可能使用信号栈向一个处于自然状态的应用程序通告错误,由此,开发者可以使用它来调试程序或处理错误。
在一个程序接收到SIGSEGV时的默认动作是异常终止。这个动作也许会结束进程,但是可能生成一个核心文件以帮助调试,或者执行一些其他特定于某些平台的动作。例如,使用了grsecurity补丁的Linux系统可能记录SIGSEGV信号以监视可能的使用缓存溢出的攻击尝试。
SIGSEGV可以被捕获。也就是说,应用程序可以请求它们想要的动作,以替代默认发生的动作。这样的动作可以是忽略它、调用一个函数,或恢复默认的动作。在一些情形下,忽略SIGSEGV导致未定义行为。
一个应用程序可能处理SIGSEGV的例子是调试器,它可能检查信号栈并通知开发者目前所发生的,以及程序终止的位置。
SIGSEGV通常由操作系统生成,但是有适当权限的用户可以在需要时使用kill系统调用或kill命令(一个用户级程序,或者一个shell内建命令)来向一个进程发送信号。
SIGSEGV 11相关推荐
- 内存访问错误造成Segmentation fault (SIGSEGV)
linux下程序对SIGSEGV信号的默认处理方式是产生coredump并终止程序,可以参考man 7 signal Signal Value Action Comment ─── ...
- linux SIGSEGV信号 内存访问错误 Segmentation fault
linux下程序对SIGSEGV信号的默认处理方式是产生coredump并终止程序,可以参考man 7 signal Signal Value Action Comment ─── ...
- 偶然出现 segmentation fault 时的调试方法与 SIGSEGV 信号
问题描述 最近遇到一个 bug,有一定的偶然性会出现段错误.第一步需要确定的是段错误出现在哪里.可由于这个 bug 的偶然性,常规的方法无法确定问题. 根据经验,这个问题有两个方案可以使用. 生成 c ...
- c语言信号机制以及中断
用户态到内核态切换途径: 1:系统调用 2:中断 3:异常 中断类型分为如下两大类: 一.强迫性中断:正在运行的程序所不期望的,来自硬件故障或外部请求. 1.I/O 中断:来自外部设备通 ...
- linux下清理信号量,Linux下kill的信号量列表
Linux下kill的信号量列表 kill -s SIGSTOP PID i.e. kill -s SIGSTOP PID (暂停进程) kill -s SIGCONT PID (恢复运行进程) #d ...
- android crash 定位,Android NDK Crash 定位分析
当拿到应用的crash日志,如果是在java层出现了异常,相信大家都知道通过堆栈信息查找到奔溃的代码,但是如果是在native层出现了问题,面对下面的一堆内存地址,有些小伙伴可能就会觉得无从下手了: ...
- Linux 有关管理进程的命令小结
1.kill NAME kill - terminate a process (终止进程) SYNOPSIS kill [-signal] pid 说明: kill 给指定进程发送指定信号. 如果没有 ...
- posix_kill 信号
2019独角兽企业重金招聘Python工程师标准>>> root@alex-virtual-machine:/home/alex# kill -l 1) SIGHUP 2) ...
- golang signal 信号处理
目录 信号类型 golang 信号发送和处理 信号类型 个平台的信号定义或许有些不同.下面列出了POSIX中定义的信号. Linux 使用34-64信号用作实时系统中. 命令 man signal 提 ...
最新文章
- html与css结合动效案例,CSS3制作动画效果例子
- java有参和无参的用处_Java对比有参数和无参数
- python virtualenv 坑_Python 虛擬環境 | Mac/Linux下如何避坑安裝配置Virtualenv
- 坑爹的RegExp test()
- python 局部变量和全局变量 global
- 联想微型计算机4250怎么拆机,联想T430笔记本拆机增加内存条图解教程
- 通达信手机版分时图指标大全_今天教大家怎么把通达信副图指标源码导入手机通达信软件上。...
- ABB机器人FOR循环指令
- 3650m5设置u盘启动_联想启天M425台式机设置u盘启动两种模式(支持uefi/bios双启动)...
- 买了北京亲子年票但没有小孩的朋友,接下来的一年我都给你安排好啦!!...
- 什么是零点漂移,怎么抑制零点漂移?(硬件每日一题)
- matlab sub2ind函数
- 喜马拉雅数据接口 JSSDK API 接入 demo WEB版 标准登录 、免登陆
- Recap|Hadoop User Group France
- 微信小程序开发工具调试
- 电子邮件营销中的邮件主题设计
- 你期待的Domino V12有什么?
- 工业相机(高速相机)与普通相机的差别
- cisco3560及二层交换机配置vlan及常用命令
- 阅读 Android源码的一些姿势