
正文
linux命令查看函数 linux查看函数定义在哪里
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
linux宕机后根据地址来查看哪个函数出错
1)从System.map文件中直接得到地址:
$ grep sys_open /usr/src/linux/System.map
2)使用 nm 命令:
$ nm vmlinuz | grep sys_open
3)从 /proc/kallsyms 文件获得地址:
$ cat /proc/kallsyms | grep sys_open
4)使用 kallsyms_lookup_name() 函数:
是在kernel/kallsyms.c文件中定义的,要使用它必须启用CONFIG_KALLSYMS编译内核。
kallsyms_lookup_name()接受一个字符串格式内核函数名,返回那个内核函数的地址。
kallsyms_lookup_name("sys_open");
相关问答
Q1: 如何查看linux命令源代码和函数源代码
1. 以搜索ls命令源码为例linux命令查看函数,先搜索命令所在包linux命令查看函数,命令如下linux命令查看函数:
lpj@lpj-linux:~$ which ls
/bin/ls
2. 用命令搜索该软件所在包linux命令查看函数,代码如下:
lpj@lpj-linux:~$ dpkg -S /bin/ls
coreutils: /bin/ls
3. 从上一步中可以知道ls命令linux命令查看函数的实现在包coreutils中,用apt安装(说安装有些歧义,主要是区分apt-get -d)该包的源代码然后解压,代码如下:
sudo apt-get source coreutils
cd /usr/src/coreutils-XXX #XXX表示版本号
sudo tar zxvf coreutils-XXX.tar.gz
或者只下载源码,然后手动打补丁再解压,代码如下:
sudo apt-get -d source coreutils
cd /usr/src
tar zxvf coreutils-XXX.tar.gz
gzip -d coreutils-XXX.diff.gz #这一步会生成coreutils-XXX.diff文件
patch -p0 coreutils-XXX.diff
cd coreutils-XXX
tar zxvf coreutils-XXX.tar.gz
OK,这几步执行完后,就可以进入/usr/src/coreutils-XXX/coreutils-XXX/src中查看各命令对应的源代码了
Q2: Linux 下如何快速查找到头文件和函数定义
如:grep “time_t” /usr/include/*.h |grep “typedef”可以查找到“typedef_time_t time_t;”
Locatekeyword.h 可以查找名为keyword 的头文件所在地目录树
使用linux系统难免会忘记文件所在的位置,可以使用以下命令对系统中的文件进行搜索。搜索文件的命令为”find“;”locate“;”whereis“;”which“;”type“
linux下最强大的搜索命令为”find“。它的格式为”find 指定目录 指定条件 指定动作“;比如使用find命令搜索在根目录下的所有interfaces文件所在位置,命令格式为”find / -name 'interfaces'“
使用locate搜索linux系统中的文件,它比find命令快。因为它查询的是数据库(/var/lib/locatedb),数据库包含本地所有的文件信息。使用locate命令在根目录下搜索interfaces文件的命令为”locate interfaces“
使用”whereis“命令可以搜索linux系统中的所有可执行文件即二进制文件。使用whereis命令搜索grep二进制文件的命令为”whereis grep“。
使用which命令查看系统命令是否存在,并返回系统命令所在的位置。使用which命令查看grep命令是否存在以及存在的目录的命令为”which grep“
使用type命令查看系统中的某个命令是否为系统自带的命令。使用type命令查看cd命令是否为系统自带的命令;查看grep 是否为系统自带的命令。
Q3: Linux下查找一个函数在哪个库文件中
学会使用man
命令linux命令查看函数,例如查询read函数linux命令查看函数,
因为read在linux也是命令,说要到man
2种查询
输入man
2
read
就可以看到read的详细用法,以及头文件了
Q4: linux驱动程序中用到的大量函数,这些函数在哪里可以查看啊?
man手册。只是全是英文的。
用法:终端下man 命令
vim里:把光标移动到该函数下,按下shift+k快捷键。
linux命令查看函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux查看函数定义在哪里、linux命令查看函数的信息别忘了在本站进行查找喔。







