使用objdump查看内核中某个函数的汇编代码

方法:先通过 System.map 找到函数的起始地址,然后通过 objdump 得到反汇编后的内容。

以下示例用来查看内核中 sys_getpid() 函数的汇编代码,其中,stop-address 的值是拍脑袋想出来的。

$ grep sys_getpid ./System.map
ffffffff8026d920 T sys_getpid
$ objdump -d --start-address=0xffffffff8026d920 --stop-address=0xffffffff8026e920 ./vmlinux >tmp.S
$ head -15 tmp.S

./vmlinux:     file format elf64-tradlittlemips


Disassembly of section .text:

ffffffff8026d920 <sys_getpid>:
ffffffff8026d920:	67bdfff0 	daddiu	sp,sp,-16
ffffffff8026d924:	ffbf0008 	sd	ra,8(sp)
ffffffff8026d928:	03e00825 	move	at,ra
ffffffff8026d92c:	0c088fd0 	jal	ffffffff80223f40 <ftrace_caller>
ffffffff8026d930:	67ac0008 	daddiu	t0,sp,8
ffffffff8026d934:	df840000 	ld	a0,0(gp)
ffffffff8026d938:	00003025 	move	a2,zero
ffffffff8026d93c:	0c09ebd2 	jal	ffffffff8027af48 <__task_pid_nr_ns>

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值