现在的位置: 首页 > 综合 > 正文

objdump 反汇编一个函数的脚本

2013年11月05日 ⁄ 综合 ⁄ 共 454字 ⁄ 字号 评论关闭

1)使用System.map文件查找函数的起始地址和结束地址

2)使用objdump -d 反汇编, 然后通过--start-address和--stop-address参数指定函数区间

3)使用nm -n out.elf > System.map 命令生成System.map文件

4)grep -A 1 打印匹配行和下一行, awk 打印第一列地址.

#!/bin/sh
routine=memset
start=`grep " "$routine"$" System.map | awk '{print "0x"$1}'`
end=`grep -A 1 " "$routine"$" System.map | awk '{getline; print "0x"$1}'`

echo "routine $routine, star address $start, end address $end"

/opt/toolchain/arm-eabi-4.4.0/bin/arm-eabi-objdump -d u-boot --start-address=$start --stop-address=$end

【上篇】
【下篇】

抱歉!评论已关闭.