Отладка ядра с помощью / proc / kcore - PullRequest
0 голосов
/ 05 декабря 2018

Я изучал ядро ​​отладки, используя / proc / kcore

Я собрал последнюю стабильную версию Linux 4.19 и установил ее на свою виртуальную машину.

Затем я перешел в папку, где находится мой linuxисходный код был скомпилирован и выполните следующую команду.

sudo gdb vmlinux /proc/kcore

Это дало мне следующие ошибки

Core was generated by `BOOT_IMAGE=/boot/vmlinuz-4.19.6 root=UUID=c17d5f82-e020-4ded-a082-89fd7e54d893'.
#0  0x0000000000000000 in irq_stack_union ()
warning: File "/home/jamal/linux/linux-4.19.6/scripts/gdb/vmlinux-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
    add-auto-load-safe-path /home/jamal/linux/linux-4.19.6/scripts/gdb/vmlinux-gdb.py
line to your configuration file "/home/jamal/.gdbinit".
To completely disable this security protection add
    set auto-load safe-path /
line to your configuration file "/home/jamal/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
    info "(gdb)Auto-loading safe path"

Итак, я добавил

$ cat /home/jamal/.gdbinit 
add-auto-load-safe-path /home/jamal/linux/linux-4.19.6/scripts/gdb/vmlinux-gdb.py

Затем, когда япопытался обновить файл kcore и вывести значение «jiffies», он печатает одно и то же значение снова и снова.Какую ошибку я совершаю здесь.

Reading symbols from vmlinux...done.
[New process 1]
Core was generated by `BOOT_IMAGE=/boot/vmlinuz-4.19.6 root=UUID=c17d5f82-e020-4ded-a082-89fd7e54d893'.
#0  0x0000000000000000 in irq_stack_union ()
(gdb) print jiffies
$1 = 4294892296
(gdb) core-file /proc/kcore
[New process 1]
Core was generated by `BOOT_IMAGE=/boot/vmlinuz-4.19.6 root=UUID=c17d5f82-e020-4ded-a082-89fd7e54d893'.
#0  0x0000000000000000 in irq_stack_union ()
(gdb) print jiffies
$2 = 4294892296
(gdb) 
$3 = 4294892296
(gdb) q

1 Ответ

0 голосов
/ 15 июня 2019

вам нужно установить следующее в вашем .gdbinit

установить автоматическую загрузку safe-path /

, затем загрузить или перезагрузить компьютер, чтобы он вступил в силу.

-JJ

...