gpt4 book ai didi

c - 使用 gdb 调试 linux 内核模块

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:10:12 26 4
gpt4 key购买 nike

我想知道内核模块 中返回的 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.

请帮忙。

最佳答案

因为我不能发表评论,所以我会写一个答案。 (但我知道这更像是评论区的帖子,因为我对此不是 100% 确定)

您必须使用调试符号来编译您的模块。为了做到这一点,模块应该在不剥离的情况下进行编译。您可能还想尝试 -g 选项并在内核 CONFIG_DEBUG_INFO=y 中启用调试。

不确定它是否会起作用。

关于c - 使用 gdb 调试 linux 内核模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38431060/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com