gpt4 book ai didi

linux - 为什么在安装了 linux 内核调试包的系统中需要两个内核模块副本?

转载 作者:太空狗 更新时间:2023-10-29 12:22:52 26 4
gpt4 key购买 nike

在安装了内核调试包的 Linux 机器中,我可以看到内核模块的两个副本位于两个位置,如下所述:

  1. /lib/modules/<$KERNELVERSION>/kernel/
  2. /usr/lib/debug/lib/modules/<$KERNELVERSION>/kernel/

我确实有疑问,哪个模块会被执行,两个模块需要什么。

最佳答案

  1. /lib/modules/<$KERNELVERSION>/kernel/ - 将与内核一起加载的模块(它们没有调试符号)

例子:

ll /lib/modules/4.15.0-20-generic/kernel/fs/xfs/xfs.ko<br/>
-rw-r--r-- 1 root root 1883966 Apr 24 2018 /lib/modules/4.15.0-20-generic/kernel/fs/xfs/xfs.ko

  1. /usr/lib/debug/lib/modules/<$KERNELVERSION>/kernel/ - 带有调试符号的模块

例子:

ll /usr/lib/debug/lib/modules/4.15.0-20-generic/kernel/fs/xfs/xfs.ko<br/>
-rw-r--r-- 1 root root 40247182 Apr 24 2018 /usr/lib/debug/lib/modules/4.15.0-20-generic/kernel/fs/xfs/xfs.ko

如您所见,大小分别为 1.8Mb 和 40Mb。如果比较 readelf -S <module> 的输出, 然后您会注意到其他部分,例如 debug_aranges , debug_info , debug_ranges等在调试模块中

关于linux - 为什么在安装了 linux 内核调试包的系统中需要两个内核模块副本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53372995/

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