Debug系列SIGILL(Illegal instruction)问题定位

Posted 飞翔的鲲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Debug系列SIGILL(Illegal instruction)问题定位相关的知识,希望对你有一定的参考价值。

DATE: 2021.10.25


1、问题描述

进程在运行过程中会收到SIGILL信号,此类错误是由操作系统发送给进程的。

SIGILL是某个进程中的某一句不能被CPU识别指令,这些指令可能是一些形式错误、未知或者特权指令。

2、问题原因

2.1、错误修改代码段

进程代码段中数据是作为指令运行的,如果不小心代码段被错误覆盖,那么CPU可能无法识别对应的代码,进而造成Illegal Instruction。

同样,如果栈被不小心覆盖了,造成返回地址错误、CPU跳转到错误地址,执行没有意义的内存数据,进而造成Illegal Instruction。

进一步可以认为,任何导致代码段错误的问题都可能带来Illegal Instruction。

以上是关于Debug系列SIGILL(Illegal instruction)问题定位的主要内容,如果未能解决你的问题,请参考以下文章

Rdrand 指令 SIGILL

Illegal characters in path

java.lang.IllegalArgumentException: Illegal character in query at index 261

JavaJava URLDecoder异常Illegal hex characters in escape (%)

python 读取中文CSV 'gbk' codec can't decode bytes in position 2-3:illegal multibyte sequen

java.lang.IllegalArgumentException: Illegal character in query at index