LINUX.ORG.RU

Отладка ядра GDB: не загружаются скрипты для отладки

 , , , ,


0

1

Включил в конфиге следующие опции:

DEBUG_KERNEL=y
DEBUG_INFO=y
DEBUG_BUGVERBOSE=y
CONFIG_FRAME_POINTER=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
Запустил oldconfig:
Compile the kernel with debug info (DEBUG_INFO) [Y/n/?] y
  Reduce debugging information (DEBUG_INFO_REDUCED) [N/y/?] (NEW) N
  Produce split debuginfo in .dwo files (DEBUG_INFO_SPLIT) [N/y/?] (NEW) N
  Generate dwarf4 debuginfo (DEBUG_INFO_DWARF4) [N/y/?] (NEW) N
  Generate BTF typeinfo (DEBUG_INFO_BTF) [N/y/?] (NEW) N
  Provide GDB scripts for kernel debugging (GDB_SCRIPTS) [N/y/?] (NEW) Y
Enable __must_check logic (ENABLE_MUST_CHECK) [Y/n/?] y
Warn for stack frames larger than (needs gcc 4.4) (FRAME_WARN) [1024] 1024
Strip assembler-generated symbols during link (STRIP_ASM_SYMS) [N/y/?] n
Generate readable assembler code (READABLE_ASM) [N/y/?] n
Debug Filesystem (DEBUG_FS) [Y/?] y
Install uapi headers to usr/include (HEADERS_INSTALL) [N/y/?] n
Enable full Section mismatch analysis (DEBUG_SECTION_MISMATCH) [Y/n/?] y
Make section mismatch errors non-fatal (SECTION_MISMATCH_WARN_ONLY) [Y/n/?] y
Force weak per-cpu definitions (DEBUG_FORCE_WEAK_PER_CPU) [N/y/?] n
Собрал ядро, запускаю: qemu-system-i386 -m 512m -append 'console=ttyS0 nokaslr' -display none -serial mon:stdio -kernel arch/x86/boot/bzImage -s -S, и запускаю gdb vmlinux. Дебаг идет, но vmlinux-gdb.py не загружен, apropos lx не показывает ничего, add-auto-load-safe-path не делает ничего, так как я подозреваю, что gdb даже не пытается загружать скрипты.
И gdb, и qemu из репов дебиана. Какова вероятность, что проблема в них, а не в моих кривых руках? Может, я что-то очевидное делаю не так?

★★★★★

add-auto-load-safe-path

add-auto-load-safe-path должен быть в .gdbinit, он там есть? Указан полный путь? Это путь к директории? Должен быть путь к директории, не путь к файлу. Симлинк vmlinux-gdb.py указывает на файл?

И gdb, и qemu из репов дебиана

У меня заводится на qemu и gdb из реп Debian testing.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Сорри, что не отписал раньше. Действительно, проблема была в симлинке. Из-за бага симлинк создавался битый, баг исправили, теперь все работает.

CYB3R ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.