我想调试一个加载的内核模块,我没有源代码;我怀疑它是病毒。是否有办法将其输入GDB进行分析?
发布于 2011-01-10 10:51:30
从调试的角度来看,内核是一个特殊的“进程”,不同于用户空间进程,后者通过某种rpc机制(syscalls)或映射内存与内核通信。
我不认为仅仅通过检查一些随机的用户进程就可以看到内核的数据结构。
另一个问题是,每个用户空间进程(包括调试器)都需要内核来运行并与用户通信;我认为您不能仅仅停止内核并相信调试器将继续运行。
因此,您需要在第二台机器上运行GDB,这就是所谓的内核调试。
有关更多细节,请参阅(http://kgdb.linsyssoft.com/,Documentation/sh/kgdb)。
发布于 2013-01-15 12:04:42
其他选项是使用QEMU和GDB调试内核。与KGDB不同,QEMU组合只需要一台机器。
https://unix.stackexchange.com/questions/5619
复制相似问题