Le seguenti 88 parole non sono state trovate nel dizionario di 1275 termini (includendo 1275 LocalSpellingWords) e sono evidenziate qui sotto:
abbiamo   andare   appunti   argomento1   argomento2   argomento3   args   avanti   backtrace   break   breakpoint   breakpoints   cgdb   clock   codice   Compilare   condition   condizionale   contenuto   continuare   continue   debug   debugging   default   dentro   disordinati   dopo   dove   dovete   entrare   esempio   fa   facciamo   far   fare   ferma   fermera   file   funzione   gdb   handle   Happy   ignorare   impostato   incontra   instance   lanciare   Lanciare   mandiamo   Meglio   mettere   metà   next   nomefile   nomevar   nostop   Note   oppure   opzione   pagina   poi   Poi   primo   problema   programma   qualche   regolare   riga   run   Scheduler   segnale   sempre   shell   splittando   stampare   step   uguale   usare   Usate   usate   usiamo   utile   variabile   vedere   vi   vogliamo   volete   vostre  

Nascondi questo messaggio
Italiano English
Modifica History Actions

gdb

Note su GDB

In questa pagina di Wiki ci sono appunti disordinati su gdb :) Happy debugging :)

Installare GDB

Meglio installare cgdb, che mentre usate il debug vi fa vedere il codice splittando la shell a metà. Poi è tutto uguale solo che dovete lanciare cgdb invece di gdb.

Compilare

Usate sempre l'opzione -g nelle vostre CFLAGS se poi volete usare gdb per fare il debug

Lanciare il programma

gdb --args file argomento1 argomento2 argomento3

Esecuzione

Prima di eseguire il debug può essere utile specificare dei breakpoints

break nomefile:riga

di default gdb si fermera' a qualsiasi segnale. Se vogliamo ad esempio ignorare SIGPIPE facciamo

handle SIGPIPE nostop

Fatto questo mandiamo in esecuzione:

run

Se vogliamo mettere un breakpoint condizionale, ad esempio dopo primo primo break

condition 1 Scheduler::instance().clock() > 20

dove 1 è il numero del breakpoint e Scheduler::instance().clock() è il nome della variabile

A questo punto gdb si ferma al primo breakpoint che abbiamo impostato oppure al primo problema che incontra

  • Per andare avanti usiamo il comando next

  • Per entrare dentro una funzione usiamo step

  • Per vedere qualche è il problema usiamo backtrace

  • Per stampare il contenuto di una variabile usiamo print nomevar

  • Per far continuare l'esecuzione regolare del programma usiamo continue