<дел>

Отладчик ядра kgdb, для гипервизоров требуется оборудование на базе QEMU или JTAG.Интерфейсы для отладки часто ядра и существующих модулей Linux внутри среды выполнения.с гдб. Gdb поставляется с высокоэффективным графическим интерфейсом для сценариев для Python. вЯдро содержит набор вспомогательных сценариев, которые могут иногда упростить типичные сценарии.Этапы отладки ядра. Это специальное чрезвычайно краткое руководство о том, как совместить информационные технологии с возможностью использованияИх. Он ориентирован на виртуальные машины QEMU/KVM, которые являются целевыми, но определенно могутОбразцы также могут быть вставлены в приобретенные заглушки gdb.

<дел>

Требования¶

<ул>

  • gdb 7.2+ (рекомендуется: 7.4+) с учетом поддержки Python (обычно позволяетдля дистрибутивов)
  • <дел>

    Конфигурация¶

    <ул>

  • Создайте виртуальный сервер Linux для QEMU/KVM (см. www.linux-kvm.org иwww.qemu.org для получения подробной информации). Для перекрестного развития,http://landley.net/aboriginal/bin имеет идеальную машину для пула восприятия иНаборы инструментов, которые могут помочь в настройке.

  • Соберите хорошее ядро ​​с включенным CONFIG_GDB_SCRIPTS, а также выйдитеCONFIG_DEBUG_INFO_REDUCED, вероятно, будет отключен. Если ваш архитектурный талант поддерживаетCONFIG_FRAME_POINTER, оставьте его отмеченным.

  • Установите ядро, которое вы нашли на гостевой экскурсии KASLR, добавив его на всякий случай.«nokaslr», когда вам нужна эта командная строка ядра.В качестве опции QEMU позволяет постоянно обучать ядро ​​на прямой линии — обычно ядро,-append с помощью перспективы командной строки -initrd. Обычно это полезно, когда ваша компания одна.Вы не полагаетесь на разделы. См. QEMU для более подробной информации.эта система. В таком случае вам придется помочь собрать большую часть ядра.CONFIG_RANDOMIZE_BASE отключен, если строить ортопедические стельки KASLR.

  • Как устранить сбой ядра?

    cd в точный каталог ядра и запустите gdb, чтобы сделать с каждым из наших файлов “.o”, которые, в частности, в этом случае имеют sd_remove(), спешащую на sd.o, используя “список” gdb (gdb) write *(function +0xoffset ), расположенная в этом случае, целью может быть sd_remove(), а смещение в наши дни составляет 0x20, и gdb должен указать номер строки, в которой вы обычно испытываете особую панику или даже возгласы

    Включить заглушку gdb для обоих

    <цитата блока><дел><ул>

  • для qemu/kvm запустите виртуальную машину, включив “-s” в строку запроса QEMU