LKM初始化模块调试。
我获得了 Linux 内核和 LKM,以便使用 KGDB 进行调试。为了调试模块,我使用 add-symbol-file 以及目标计算机中加载模块的虚拟地址。但使用这种方法,我无法调试 init 模块,因为只有在加载模块后才能找到虚拟地址,即只有在调用 module_init 后才能找到虚拟地址。
那么我可以知道如何调试 init 模块吗?!?
I got the linux kernel and LKM to get debugged using KGDB. To debug the module I use add-symbol-file with the virtual address where the module is loaded in target machine. But with this approach I am unable to debug the init module because the virtual address can be found only after the module is loaded ie only after module_init is called.
So please can I know how to debug the init module?!?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您还可以在 do_one_initcall() 处设置断点并查看 mod->init 的地址以获取加载地址。
You could also set a breakpoint at do_one_initcall() and look at the address of mod->init to get the load address.