Olej писал(а):
Ну, и наконец, можно посмотреть "последнюю часть марлизонского балета"
, который сформулировали в начальной постановке:
5. но этого мало: хотелось бы наблюдать все происходящие там процессы с помощью GDB.
Возможность состоит в том, чтобы:
- добавить уровень отладочности собираемой системы (стрипы убрать, уровни оптимизации)...
- загрузить из одного терминала виртуальную машину с ARM Linux;
- а из другого терминала - GDB (снаружи QEMU!) и ним можно просматривать что там в ядре...
Грубо это выглядит так:
Код: Выделить всё
[olej@nvidia images]$ qemu-system-arm -kernel zImage -initrd rootfs.cpio -M versatilepb -nographic -s
Uncompressing Linux... done, booting the kernel.
Welcome to Buildroot
buildroot login: root
#
#
QEMU: Terminated via GDBstub
- это в одном терминале где выполняется новая система...
Код: Выделить всё
[olej@nvidia linux-3.0.4]$ pwd
/home/olej/buildroot-2011.08/output/build/linux-3.0.4
[olej@nvidia linux-3.0.4]$ gdb vmlinux
GNU gdb (GDB) Fedora (7.2-51.fc14)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/olej/buildroot-2011.08/output/build/linux-3.0.4/vmlinux...(no debugging symbols fo
(gdb) target remote localhost:1234
Remote debugging using localhost:1234
warning: Architecture rejected target-supplied description
0x00004000 in ?? ()
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x00004000 in ?? ()
(gdb) q
A debugging session is active.
Inferior 1 [Remote target] will be killed.
Quit anyway? (y or n) y
- а это другой терминал, где крутится GDB (каталог запуска совсем другой, там где находится файл vmlinux!).
P.S. это только набросок "того как"... но видно и понятно уже, что это работает.