您的位置:首页 > 其它

反汇编异常定位

2016-02-17 11:49 295 查看
反汇编异常定位:

...

task: c2d273e0 ti: c1244000 task.ti: c1244000

PC is at 0xb6ed6e78

LR is at 0x1518a8

pc : [<b6ed6e78>] lr : [<001519f4>] psr: a0000010

sp : b5950e78 ip : 0031b4bc fp : b59510e4

...

出错信息中一般会标记处pc和lr寄存器,pc指向下一条要执行的命令地址,lr保存返回地址

反汇编:arm-linux-objdump -D sctrl > 1.txt

...

001519e8 <thread_destory>:

1519e8: e92d4010
push {r4, lr}

1519ec: e1a04000
mov r4, r0

1519f0: ebfc80b8
bl 71cd8 <_init+0x13ec>

1519f4: e1a00004
mov r0, r4//->lr的位置

1519f8: e3a01000
mov r1, #0

1519fc: e8bd4010
pop {r4, lr}

151a00: eafc808d
b 71c3c <_init+0x1350>

...

从中查找pc和lr的地址,可以找到相关的汇编指令,如果程序带着-g的话还可以带着相关函数名称,据此可以分析产生异常的程序位置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: