利用反汇编帮助查找段错误
来源:互联网 发布:淘宝店铺可以注销吗 编辑:程序博客网 时间:2024/05/17 07:13
当程序运行时经常会发生段错误,如果在linux系统,可以利用core dump文件,用gdb来帮助查找,前面已经有介绍过这种方法,如果不是linux系统,则很多时候不能使用gdb,则可以利用反汇编来查找出错的位置,一般段错误会打印出出错的指针位置,如下:
Oops: Data Abort caused by READ instruction!
Fault: Alignment fault
pc: 0021034c
r0: 20000053 r1: 00000001 r2: 00000000 r3: 20000053
r4: aaaaaaaa r5: 00256984 r6: aaaaaaaa r7: dddddddd
r8: aaaaaaaa r9: dddddddd r10: 00060000
fp: 00000000 ip: 00000000 sp: 00240bc0
SPSR: 600000d3
从上面看出,pc就是程序计数器,即程序运行到此位置发生错误,然后我们利用objdump将运行的程序反汇编,命令如下:/usr/local/linaro-armv8l-eabi-2017.08-gcc7.1/bin/arm-eabi-objdump -D -S app_demo.elf > a.s
,然后在a.s文件中搜索该pc地址,就可以找到是哪个函数出现问题,可以利用加log等方法来调试。
阅读全文
0 0
- 利用反汇编帮助查找段错误
- 通过反汇编定位段错误
- 段错误查找记录
- gdb查找段错误
- 段错误查找
- 利用arm-eabi-gdb脚本反汇编解析dump错误行
- 利用反汇编对WNDPROC进行追踪
- 进程段错误问题查找
- 汇编利用B800段输出ASCII码表
- IDA反汇编学习- 修改.text段数据
- 从汇编的角度看段错误
- 汇编角度解释溢出段错误
- GBA反汇编(烈火之剑<中文版>查找字库)
- 反汇编学习之路之查找参考字符串
- C程序查找段错误的方法
- linux 系统查找段错误的方法
- 段错误原因分析和查找
- 段错误原因分析和查找
- SPOJ 1825 Free Tour 2
- 1014. Waiting in Line (30)
- spring MVC 的参数传递方式
- etcd-webui安装
- mysql故障排除
- 利用反汇编帮助查找段错误
- Java23种设计模式——模板模式
- 浏览微信的目录
- python面向对象入门之奇怪的静态变量
- "undefined reference to" 问题解决方法
- Celery-4.1 用户指南: Application
- 通用等分自适应上传组件
- Oculus VR开发问题汇总
- 控制台猜拳