Chinaunix首页 | 论坛 | 博客
  • 博客访问: 97805
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-22 11:14
文章分类

全部博文(13)

文章存档

2014年(3)

2013年(10)

我的朋友

分类: LINUX

2013-11-21 16:09:20

    上周练习内核空间和用户空间通信(procfs)时,写了个小程序,但是在运行可执行文件时时出现了断错误,找了好长时间都没找到。后来在网上看到有用objdump来反汇编可执行文件或者.o文件来进行分析。所以尝试了下:
    首先我用的是OpenEmbedded构建的交叉编译环境,必须先保证工程被编译过一次。
    objdump的路径:apps_proc/oe-core/build/tmp-eblibc/sysrootfs/x86_64-linux/usr/bin/armv7a-vfp-neon-oe-linux-gnueabi/ar-oe-linux-gnueabi-objdump
    使用方法apps_proc/...../ar-oe-linux-gnueabi-objdump -d 二进制文件 。
    如果需要c代码与相应的汇编语句相对应起来一起看,可以在编译的时候加上-g选项,然后:apps_proc/...../ar-oe-linux-gnueabi-objdump -dz -S *.ko 
    反汇编出汇编代码后,使用dmesg查看出现断错误的地址然后对照汇编代码就不难找出来了。
    
    

阅读(3107) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~