Chinaunix首页 | 论坛 | 博客
  • 博客访问: 377731
  • 博文数量: 160
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 250
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-18 01:16
文章分类

全部博文(160)

文章存档

2016年(4)

2015年(13)

2014年(29)

2013年(114)

我的朋友

分类: LINUX

2016-05-14 16:39:49

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 就可以了。 


有空开发一个类似程序看看。 
阅读(1232) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~