【发布时间】:2016-07-18 07:38:22
【问题描述】:
我想知道 API 在内核模块
从几个表格中知道这不是那么直截了当,我们需要加载符号表来调试内核模块。
所以我所做的就是, 1. 试图找到内核模块的.text .bss 和.data 段地址。 2.在gdb中使用add-symbol-file命令添加符号表文件。
但我收到错误消息“正在从 /fabos/modules/vnos-module.ko 读取符号...(未找到调试符号)...完成。”
我在这里有什么遗漏吗?
root@sw0:/sys/module/vnos_module/sections# cat .text .data .bss
0xf7f7f000
0xf7fb7a30
0xf7fc3da4
root@sw0:/sys/module/vnos_module/sections# gdb /fabos/modules/vnos-module.ko
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /fabos/modules/vnos-module.ko...(no debugging symbols found)...done.
add-symbol-file /fabos/modules/vnos-module.ko 0xf7f7f000 -s .data 0xf7fb7a -s .bss 0xf7fc3da4
add symbol table from file "/fabos/modules/vnos-module.ko" at
.text_addr = 0xf7f7f000
.data_addr = 0xf7fb7a30
(y or n) y
Reading symbols from /fabos/modules/vnos-module.ko...(no debugging symbols found)...done.
请帮忙。
【问题讨论】:
-
如果文件没有符号,它就没有符号:即使知道段的地址,也无法调试。你必须得到一个带有符号的文件或一个与你的二进制文件相对应的单独的符号文件。
-
有没有办法编译模块来合并符号?
标签: c linux linux-kernel gdb