Kernel/gdb/hasher: различия между версиями
< Kernel
Vt (обсуждение | вклад) (Новая страница: «= Отладка ядра в GDB в Hasher = * В репозитории для Hasher должен быть разрешен компонент debuginfo. * В Hasher должен быть настроен проброс /dev/kvm. <span style="color:blue">~$</span> '''hsh''' --ini <span style="color:blue">~$</span> '''hsh-install''' gdb tmux rpm-build-vm kernel-image-un-def-debuginfo <span style="color:blue">~$</span> '...») |
Vt (обсуждение | вклад) Нет описания правки |
||
Строка 7: | Строка 7: | ||
<span style="color:brown">~$builder@i586:/.in$</span> '''tmux''' | <span style="color:brown">~$builder@i586:/.in$</span> '''tmux''' | ||
<span style="color:brown">~$builder@i586:/.in$</span> '''tmux''' split | <span style="color:brown">~$builder@i586:/.in$</span> '''tmux''' split | ||
{{Note|В <code>tmux</code> переключение между окнами нажатиями <code>^B</code> + <code>↑</code>, <code>^B</code> + <code>↓</code>.}} | |||
'''В одном окне запускаем:''' | '''В одном окне запускаем:''' |
Версия от 06:08, 27 ноября 2022
Отладка ядра в GDB в Hasher
- В репозитории для Hasher должен быть разрешен компонент debuginfo.
- В Hasher должен быть настроен проброс /dev/kvm.
~$ hsh --ini ~$ hsh-install gdb tmux rpm-build-vm kernel-image-un-def-debuginfo ~$ hsh-shell --mountpoints=/proc,/dev/kvm ~$builder@i586:/.in$ tmux ~$builder@i586:/.in$ tmux split
Примечание: В
tmux
переключение между окнами нажатиями ^B
+ ↑
, ^B
+ ↓
.
В одном окне запускаем:
~$builder@i586:/.in$ vm-run --qemu='-S -s'
В другом окне:
- Находим путь к файлу
vmlinux
:
~$builder@i586:/.in$ rpm -ql kernel-image-un-def-debuginfo | grep /vmlinux$
/usr/lib/debug/lib/modules/6.0.10-un-def-alt1/vmlinux
- Запускаем
gdb
:
~$builder@i586:/.in$ gdb -q /usr/lib/debug/lib/modules/6.0.10-un-def-alt1/vmlinux Reading symbols from /usr/lib/debug/lib/modules/6.0.10-un-def-alt1/vmlinux... Reading symbols from /usr/lib/debug/usr/lib/debug/lib/modules/6.0.10-un-def-alt1/vmlinux.debug... (gdb) target remote :1234 Remote debugging using :1234 0x0000fff0 in ?? () (gdb) hbreak start_kernel Hardware assisted breakpoint 1 at 0xc2474b29: file init/main.c, line 930. (gdb) c Continuing. Thread 1 hit Breakpoint 1, start_kernel () at init/main.c:930 930 { (gdb)