1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-22 10:44:17 +00:00
appunti-steffo/9 - Kernel hacking/1 - Cercando di capire le cose/kernel debugging.md

55 lines
No EOL
976 B
Markdown

Ci sono varie cose che vanno effettuate per rendere possibile debuggare il kernel con [[gdb]].
## Generare un config di debug iniziale
Iniziare la compilazione del kernel con [[virtme-ng]], poi interromperla subito con <kbd><kbd>Ctrl</kbd>+<kbd>C</kbd></kbd>:
```bash
virtme-ng --build
```
## Abilitare le info di debug
Aprire [[menuconfig]]:
```bash
make menuconfig
```
Nella sezione *Kernel hacking*, attivare *Kernel debugging*.
Nella sezione *Memory Management options*, attivare *Disable heap randomization*.
## Ricompilare il kernel
Ricompilare il kernel con [[virtme-ng]]:
```bash
virtme-ng \
--verbose \
--build \
--config .config
```
## Eseguire il kernel in modalità debug
Eseguire il kernel con [[virtme-ng]]:
```bash
virtme-ng \
--run \
--debug
```
## Connettere gdb al kernel
Avviare [[gdb]]:
```bash
gdb
```
Caricare i [[simboli di debug]]:
```gdb
file vmlinux
```
Connettersi al server [[gdb]] remoto:
```gdb
target remote localhost:1234
```