在linux系统下面,因为非法地址的错误而导致的程序崩溃十分常见,面对这类问题,我们一般的做法只是去仔细研读源代码,并猜测问题所在。
那么有没有更方便的方法呢?请参看如下标示:
[KERNEL-CHECK] a bad boy(rotterdam.elf:pid=258,prio=0) has error!
(signal = 11)
(epc = 0x2c0b9f50) <--- check your mapfile!
以上标识还是有些用处的,其中pid代表了线程号,prio代表该线程优先级
signal 11为非法地址访问的意思
后面的epc代表了出错的地址,可以去查询.map文件,并从中推测出具体在哪个文件中出错。
那么有没有更方便的方法呢?请参看如下标示:
[KERNEL-CHECK] a bad boy(rotterdam.elf:pid=258,prio=0) has error!
(signal = 11)
(epc = 0x2c0b9f50) <--- check your mapfile!
以上标识还是有些用处的,其中pid代表了线程号,prio代表该线程优先级
signal 11为非法地址访问的意思
后面的epc代表了出错的地址,可以去查询.map文件,并从中推测出具体在哪个文件中出错。