Linux Kernel Debugging
Agata Chrobak, Grzegorz Paszt, Tomasz Witaszczyk
Część pierwsza - prezentacja teoretyczna
[Pobierz]
W prezentacji między innymi:
- Co to jest debuggowanie i po co to robić?
- Podstawowe metody debuggowania.
- oops
- printk
- strace
- ltrace
- Bardziej zaawansowane metody.
- KDB - Built-in Kernel Debugger.
- GDB - The GNU Project Debugger - podstawy debuggowania programów.
- KGDB - Kernel GNU Debugger - debuggowanie zdalne.
- UML - User Mode Linux - instalacja i debuggowanie przy użyciu GDB.
Część druga - prezentacja praktyczna
Uruchamianie KGDB (ok. 1 MB)
[Obejrzyj]
W prezentacji:
- Uruchamianie dwóch maszyn wirtualnych przy pomocy VMWare.
- Tworzenie łącza nienazwanego (pipe).
- Uruchamianie KGDB.
- Ustawienie breakpointa i zatrzymanie działania jądra.
Hacking Kernel with UML & GDB (ok. 9 MB)
[Obejrzyj]
W prezentacji między innymi:
- Uruchamianie jądra linuxa w trybie User Mode pod kontrolą gdb.
- Zatrzymanie działania jądra na start_kernel.
- Podmiana standardowego bannera linuxa.
- Zatrzymanie jądra na funkcji do_fork i podglądanie pidu przydzielanego do powstającego procesu.
- Zatrzymanie jądra na funkcji alloc_pidmap i przydzielenie wybranego pidu (w przezentacji - pid 10) poprzez modyfikację pamięci "w locie".