FastNetMon

Tuesday 2 December 2008

Отладка ядра Linux посредством kgdb, подготовка

Хост машина
Ставим на хост машине отладчик:
sudo apt-get install gdb
sydo apt-get install xxgdb # X фронтэнд для gdb
sudo apt-get install socat # релей

Запускаем релей:
socat -d -d /home/nrg/kernel_debug_pipe pty:

А релей нам нужен по причине: GDB can't connect directly to a unix-domain socket, so you'll need to use the socat ("socket cat") utility.

Если вирт машина с виртуальным комом не включена, то увидим мы примерно следующее:

2008/12/03 03:17:21 socat[18494] N opening regular file "/home/nrg/kernel_debug_pipe" for reading and writing
2008/12/03 03:17:21 socat[18494] N PTY is /dev/pts/1
2008/12/03 03:17:21 socat[18494] N starting data transfer loop with FDs [3,3] and [4,4]
2008/12/03 03:17:21 socat[18494] N socket 1 (fd 3) is at EOF
2008/12/03 03:17:22 socat[18494] N exiting with status 0


А вот что увидим в случае успешного коннекта:


2008/12/03 03:18:55 socat[18532] N successfully connected via
2008/12/03 03:18:55 socat[18532] N PTY is /dev/pts/1
2008/12/03 03:18:55 socat[18532] N starting data transfer loop with FDs [3,3] and [4,4]



Машина с отлаживаемым ядром (Дебиян Ленни на 2.6.26 ядре)

Для отлаживаемой в VirtualBox машины нужно включить виртуальный ком порт вот таким образом:


Всё, подготовительные работы закончены, теперь требуется включить в ядре поддержку KGDB и прицепить к нему gdb по последовательному порту.

Матчасть по KGDB:
http://oslab.info/index.php/Misc/KGDB основной мануал по настройке всего добра
http://www.dumbare.com/kgdb в картинках
http://kgdb.linsyssoft.com/intro.htm офсайт
http://en.wikipedia.org/wiki/KGDB вики

No comments :

Post a Comment

Note: only a member of this blog may post a comment.