vmlinux 反汇编_如何反汇编核心的某个指定函数(如setup_arch),如何使反汇编中包含源代码的行号?...

Subject: 如何反汇编核心的某个指定函数(如setup_arch),如何使反汇编中包含源代码的行号?请指教,谢谢

Author: sanford    Posted: 2003-07-02 13:36    Length: 0 byte(s)

[Original] [Print] [Top]

[Original] [Print] [Top]

Subject: Re: 如何反汇编核心的某个指定函数(如setup_arch),如何使反汇编中包含源代码的行号?请指教,谢谢

Author: sanford    Posted: 2003-07-03 17:56    Length: 108 byte(s)

[Original] [Print] [Top]

反汇编中包含源代码的行号已会了,是objdump -Sl filename

如何反汇编核心的某个指定函数还不会

[Original] [Print] [Top]

Subject: Re: 如何反汇编核心的某个指定函数(如setup_arch),如何使反汇编中包含源代码的行号?请指教,谢谢

Author: foehn    Posted: 2003-07-03 17:58    Length: 110 byte(s)

[Original] [Print] [Top]

你必须要有包含该函数的目标文件,比如.o之类的,然后用objdump -d就可以了。

不知道是否我误解了你的意思。

----

臭豆腐3块钱一块,10块钱两块,多买多送啊......

[Original] [Print] [Top]

Subject: Re: 如何反汇编核心的某个指定函数(如setup_arch),如何使反汇编中包含源代码的行号?请指教,谢谢

Author: sanford    Posted: 2003-07-03 18:22    Length: 111 byte(s)

[Original] [Print] [Top]

你的意思是objdump -d .o文件吗?

objdump -d vmlinux可以反汇编整个核心,但我是要反汇编其中某个指定函数。

[Original] [Print] [Top]

Subject: Re: 如何反汇编核心的某个指定函数(如setup_arch),如何使反汇编中包含源代码的行号?请指教,谢谢

Author: foehn    Posted: 2003-07-03 19:40    Length: 42 byte(s)

[Original] [Print] [Top]

不用整个vmlinux,只要对应的.o文件就可以了。

----

臭豆腐3块钱一块,10块钱两块,多买多送啊......

[Original] [Print] [Top]

Subject: Re: 如何反汇编核心的某个指定函数(如setup_arch),如何使反汇编中包含源代码的行号?请指教,谢谢

Author: wheelz    Posted: 2003-07-04 09:35    Length: 94 byte(s)

[Original] [Print] [Top]

先用nm看函数的地址,再用objdump ... --start-address=xxxxx

具体看man objdump

----

Hot 4 Freedom

[Original] [Print] [Top]

Subject: Re: 如何反汇编核心的某个指定函数(如setup_arch),如何使反汇编中包含源代码的行号?请指教,谢谢

Author: halibot    Posted: 2003-07-04 10:41    Length: 50 byte(s)

[Original] [Print] [Top]

用gdb调试vmlinx,然后disassemble setup_arch就可以了

[Original] [Print] [Top]

Subject: Re: 如何反汇编核心的某个指定函数(如setup_arch),如何使反汇编中包含源代码的行号?请指教,谢谢

Author: sanford    Posted: 2003-07-04 18:18    Length: 550 byte(s)

[Original] [Print] [Top]

感谢大家!我已经搞定。

wheelz的方法可行。

先readelf -a vmlinux|grep setup_arch得到相关信息:

12707: c0351020 543 FUNC GLOBAL DEFAULT 9 setup_arch

其中,c0351020 为起始地址,543为长度(10进制),

然后使用objdump -d --start-address=c0351020 --stop-address=c035123f vmlinux

即可。

只是感觉这样太不方便了,以前在Tru64 Unix中使用dis -p procname vmunix 就可以了。

有空开发一个类似程序看看。

阅读(2248) | 评论(0) | 转发(1) |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值