Проверка опции отладки ядра Linux

Как я могу узнать, были ли выбраны флаги DEBUG KERNEL ENABLED для стандартного ядра, предоставленного в моей версии Linux, или нет??

Я думаю, что опция DEBUG должна быть включена, чтобы использовать такие инструменты, как kprobe, systemtap ??


person codingfreak    schedule 26.11.2009    source источник


Ответы (5)


Чтобы узнать, как было сконфигурировано ваше ядро, проверьте каталог /boot/. В зависимости от того, как работает ваш дистрибутив, может быть файл config-*, который показывает параметры конфигурации ядра, которые использовались для сборки ядра. Найдите настройки отладки (например, CONFIG_DEBUG_KERNEL).

person caf    schedule 26.11.2009

Предполагая, что в ядре есть «предоставить конфигурацию через proc», вы можете проверить конфигурацию работающего ядра, просмотрев /proc/config.gz

gunzip -c /proc/config.gz | less
person stsquad    schedule 27.11.2009

Если это RHEL/CentOS/Fedora:

Конфигурация ядра находится внутри пакета kernel-devel.

Конкретная конфигурация, используемая Red Hat для сборки ядра вашего дистрибутива, хранится в /usr/src/kernels/версия/.config.

person mikemaccana    schedule 25.03.2010

В RHEL 5 вы также можете проверить все драйверы, установленные на сервере через ядро:

gunzip -c  /boot/symvers-2.6.18-274.3.1.el5.gz | less

Обратите внимание, вы можете получить полный путь:

rpm -ql kernel | grep -i symver*

Также должен подойти lsmod | more. Надеюсь, это поможет.

person lloyd johnson    schedule 02.05.2012

Стандартное ядро, вероятно, НЕ было бы скомпилировано с включенными этими флагами, так как это увеличило бы размер ядра. Накладные расходы будут недостатком для большинства пользователей.

У вас всегда есть возможность перекомпилировать свою собственную версию ядра, и в этом случае вы можете выбрать свой собственный набор параметров.

Вы можете просмотреть список модулей, скомпилированных в ядро, с помощью команды lsmod.

person pavium    schedule 26.11.2009
comment
lsmod перечисляет модули, загруженные в настоящее время в ядро. сюда входят модули, скомпилированные как динамически загружаемые модули. - person quack quixote; 26.11.2009
comment
Итак, чтобы отладить ядро, я должен снова собрать новое ядро ​​со всеми включенными флагами отладки ядра ?? Есть ли другой способ их включить?? - person codingfreak; 26.11.2009
comment
@codingfreak, я не думаю, что есть другой способ включить флаг отладки ядра. Вы должны пересобрать ядро, если в нем не включены параметры отладки. - person kumar; 27.11.2009