2010-09-17 22 views
5

sto cercando di eseguire il debug di codice utilizzando gdb, ma quando provo a guardare il mio colore variabile che dire questoNessun simbolo "colore" nel contesto corrente. GDB

No symbol "color" in current context. 

La variabile è un int ed è chiaramente nel campo di applicazione. il codice è il seguente

int color=0; 

if(color==0) 
    color=1; 

e al mio debugger viene passata la dichiarazione della variabile.

io sto solo facendo, con un punto di sosta al caso (colore == 0)

(gdb) watch color 

mi potrebbe sospettare che il compilatore o qualcosa, è possibile?

Edit: non v'è alcuni problemi con il debug nei costruttori con GDB

+0

Si prega di pubblicare una trascrizione della vostra interazione con GDB. Com'è, è impossibile dire quale delle molte possibili cose si stia sbagliando. –

+0

Il programma è compilato con i simboli di debug? – ninjalj

risposta

3

È necessario assicurarsi che si sta passando la bandiera -g a GCC quando si compila il codice. Dovresti anche passare -O0 per assicurarti che il compilatore non stia ottimizzando la tua variabile.

Problemi correlati