gpt4 book ai didi

linux - 如何调试 Linux 内核模块的 init_module() 调用?

转载 作者:可可西里 更新时间:2023-11-01 11:47:09 25 4
gpt4 key购买 nike

我正在进行 Linux 内核开发的第一步。我有一些代码生成一个 .ko 内核模块,我用 insmod 安装它。我想要一种方法来调试安装模块时发生的情况,但我遇到了一些困难。

  1. 我需要调试对 init_module 的调用。当我运行 insmode 时会调用此函数吗?

  2. 我尝试使用 insmod "/my/url/fil.ko"-m 来调试发生的情况,但每次我都遇到错误 -1 Unknown symbol in module/cat/log/message 中我可以看到错误 unknown parameter -m

  3. 不知道有没有办法用GDB调试?

最佳答案

是的,只要您使用 insmod 将它加载到内核,就会调用 init_module 函数。您只需添加一行 printk 并验证它在您插入模块后立即打印。

您不能传递诸如-m 之类的参数来调试内核模块。

您只能使用 MODULE_PARAMS 传递打算在您编写的内核模块中处理的参数。

关于linux - 如何调试 Linux 内核模块的 init_module() 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11888412/

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