1
Fork 0
grau-enginyeria-informatica/docs/cheatsheets/depuracio-amb-kdbg.md

1.4 KiB

Depuració amb Kdbg

Depurar programa

kdbg ./executable

Valors de variables i registres

Podem veure el contingut de les variables, adreces de memòria i registres afegint watches durant l'execució pas a pas d'un programa.

Contingut d'una variable

(mida) nom_variable

!!! example "Exemple"

`(char)`, `(char[8])`, `(short[4])`, `(int[2])`, `(long)`

Adreça d'una variable (i contingut)

&nom_variable

Contingut d'un registre de 64 bits:

$nom_registre

Per a veure només una part dels registres r8-r15 cal utilitzar un sufix segons el què volguem recuperar:

  • l: 1 byte menys significatiu
  • w (word): 2 bytes menys significatius
  • d (double) 4 bytes menys significatius

Per als registres rax, rbx, rcx i rdx podem utilitzar:

  • al, bl, cl, dl, : primer byte menys significatiu
  • ah, bh, ch, dh, : segon byte menys significatiu

Per als registres rsi, rdi i rbp podem utilitzar:

  • sil, dil, bpl, : primer byte menys significatiu

!!! example "Exemple"

- `$al`  primer byte menys significatiu de `rax`
- `$ah`  segon byte menys significatiu de `rax`
- `$ax`  valor dels 2 bytes menys significatius de `rax`
- `$eax` valor dels 4 byte menys significatiu de `rax`
- `$rax` valor del `rax` sencer (8 bytes)
- `$r8l` 1 byte menys significatiu de `r8`
- `$r8d` 4 bytes menys significatius de `r8`