Newsgroup: it.comp.os.linux.development
Titolo: Aiuto Gdb!

Salve potreste dirmi cosa fà il gdb e come si usa?
grazie mille.


Serve per "debuggare" i programmi (cioe' esegurli e verificare passo per passo
quello che fanno).
Per imparare ad usarlo puoi lanciare il comando "gdb" e digitare "help" al
prompt (gdb). Per uscire usa "quit".
Oppure usa il comando "info gdb".
Alessandro.

test wrote:

E ricorda di compilare il tuo programma con le informazioni di debugging
(-ggdb) e senza ottimizzazioni (O?)
Ciao Ciao
-- 
--------------------------------------------
- Non ti ricordi Abelard? Una volta ti ho 
  detto che l'estasi è meglio che essere Dio.
- Me ne ricordo.
- Mi sbagliavo, tesoro. essere Dio è meglio.
--------------------------------------------

 
Scusate di nuovo,
ma se volessi controllare passo passo il valore che
assume una variabile, questo è possibile tramite il gdb?
Grazie


Si, con il comando watch.
Alessandro.

 debugging (-ggdb) e senza ottimizzazioni (O?)
Come no? Si puo' ottimizzare, basta non fare lo strip, sia successivo 
che da linea di comando di gcc (-s)
-- 
#include <stdio.h>/* (C) BW2K+2 This code is released under GPL 2+ */
int main(){char c[]={98,108,97,99,107,119,111,108,102,64,100,101,115,112,
97,109,109,101,100,46,99,111,109,32,119,101,98,46,116,105,115,99,97,108,
105,46,105,116,47,98,108,97,107,119,111,108,102,0};printf("%s\n",c);}

 che da linea di comando di gcc (-s)
AFAIK se ottimizzi non sei piu' sicuro che le linee di codice vengano
eseguite nella sequenza in cui le hai scritte quindi non e' detto che la
riga di codice che tu pensi stia eseguendo in un dato momento sia
effettivamente quella che verra' eseguita.
Alessandro.

 grazie mille.
Puoi usare il programma "ddd" (fornito giá in alcune distribuzioni, 
tipo RH8) é un front-end grafico a debugger esterni come gdb.
Ciao skitch

 effettivamente quella che verra' eseguita.
vero che l'ordine di esecuzione puo' cambiare, ma il debugging sara' 
fatto comunque
dal manuale gdb
    "Unlike most other C compilers, GCC allows you to use `-g' with
     `-O'.  The shortcuts taken by optimized code may occasionally
     produce surprising results: some variables you declared may not
     exist at all; flow of control may briefly move where you did not
     expect it; some statements may not be executed because they
     compute constant results or their values were already at hand;
     some statements may execute in different places because they were
     moved out of loops.
     Nevertheless it proves possible to debug optimized output.  This
     makes it reasonable to use the optimizer for programs that might
     have bugs."
ed anche
    "To solve such problems, either recompile without optimizations, or
        (mio inciso: e questo si sapeva)
     use a different debug info format, if the compiler supports several 
     such formats.  For example, GCC, the GNU C/C++ compiler usually 
     supports the `-gstabs' option.  `-gstabs' produces debug info in a 
     format that is superior to formats such as COFF.  You may be able
     to use DWARF-2 (`-gdwarf-2'), which is also an effective form for 
     debug nfo."


 wrote in message
pan.2003.01.22....@yahoo.com...

Ok grazie, ma nella mdk mi pare non ci sia.