首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调试插入的内核模块?

如何调试插入的内核模块?
EN

Unix & Linux用户
提问于 2011-01-10 10:06:54
回答 2查看 3.5K关注 0票数 5

我想调试一个加载的内核模块,我没有源代码;我怀疑它是病毒。是否有办法将其输入GDB进行分析?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2011-01-10 10:51:30

从调试的角度来看,内核是一个特殊的“进程”,不同于用户空间进程,后者通过某种rpc机制(syscalls)或映射内存与内核通信。

我不认为仅仅通过检查一些随机的用户进程就可以看到内核的数据结构。

另一个问题是,每个用户空间进程(包括调试器)都需要内核来运行并与用户通信;我认为您不能仅仅停止内核并相信调试器将继续运行。

因此,您需要在第二台机器上运行GDB,这就是所谓的内核调试。

有关更多细节,请参阅(http://kgdb.linsyssoft.com/,Documentation/sh/kgdb)。

票数 5
EN

Unix & Linux用户

发布于 2013-01-15 12:04:42

其他选项是使用QEMU和GDB调试内核。与KGDB不同,QEMU组合只需要一台机器。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/5619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档