Articles of gdb

Perché l’app di java si blocca in gdb ma viene eseguita normalmente nella vita reale?

Il tentativo di eseguire l’app java da gdb risulta in segfault, ma l’app in esecuzione da sola non lo è. Questa app è una .JAR che usa JOGL e un po ‘di mapping della memoria per parlare con la GPU. Stacktrace sotto accenna a qualche tipo di problema di accesso alla memoria ma non capisco […]

Come fare il debug bidirezionale o inverso dei programmi?

Qualcuno ha effettivamente usato un debugger reversibile? UndoDB è l’unico prodotto che Google presenta . È apparentemente solo per Linux.

Come interrompere le istruzioni di assemblaggio a un dato indirizzo in gdb?

0x0000000000400448 : push %rbp 0x0000000000400449 : mov %rsp,%rbp 0x000000000040044c : mov $0x6,%eax 0x0000000000400451 : leaveq 0x0000000000400452 : retq Provai: breaki 0x0000000000400448 ma sembra che non ci sia un simile comando. Gdb ha una funzione del genere?

Esecuzione del debug del processo figlio dopo il fork (configurato come segue il fork-mode)

Sto sviluppando un’applicazione che il genitore forchetta un bambino per gestire determinate attività. Sto riscontrando un problema in cui ho configurato gdb in modalità follow-fork-mode, ma dopo il fork, dopo aver raggiunto un breakpoint, invia un SIGTRAP ma il bambino in qualche modo termina e invia SIGCHLD al genitore. Ho configurato il signal(SIGTRAP, SIG_IGN) prima […]

Come posso stampare una costante # definita in GDB?

Come da sobject Ho un hash di costanti definito in questo modo: #define CONST 40 Ho impostato un punto di interruzione nel mio programma. Come posso stampare il valore di quella costante? (So ​​che posso solo guardare il codice sorgente, ma voglio esserne sicuro)

gdb: “Nessuna tabella dei simboli è caricata”

Continuo a ricevere questo messaggio di errore quando provo ad aggiungere un breakpoint in gdb. Ho usato questi comandi per compilare: gcc -g main.c utmpib2.c -o main.o and: cc -g main.c utmpib2.c -o main.o and also: g++ -g main.c utmpib2.c -o main.o Ho anche provato “-ggdb” invece di “-g” e ricevo ancora il messaggio di […]

Posso usare GDB per eseguire il debug di un processo in esecuzione?

Sotto linux, posso usare GDB per eseguire il debug di un processo attualmente in esecuzione?

Migliore esplorazione delle variabili durante il debug del codice C ++ con Eclipse / CDT

Usando Eclipse e CDT per eseguire il debug del codice C ++, la variabile windows è ingombrante e non molto informativa per i tipi definiti nella libreria standard o in boost (ad es. Shared_ptr). Solo un esempio di come questo possa apparire per un vettore std ::: bar {…} std::_Vector_base<TSample, std::allocator<TSample > > _M_impl {…} […]

È ansible “saltare” / “saltare” nel debugger GDB?

È ansible passare a qualche posizione / indirizzo nel codice / eseguibile durante il debugging in GDB? Diciamo che ho qualcosa di simile al seguente int main() { caller_f1() { f1(); // breakpoint f2() } // want to skip f2() and jump caller_f2() { // jump to this this location ?? f1(); f2(); } }

scripting gdb: esegue i comandi al punto di interruzione selezionato

Mi piacerebbe predefinire alcuni punti di interruzione in uno script gdb e richiamare alcuni comandi speciali in questi punti di interruzione e in seguito per continuare automaticamente l’esecuzione del programma. Quindi, idealmente, mi piacerebbe avere uno script gdb come il seguente: b someFunction … if breakpoint from above reached do: print var1 call someOtherFunction continue […]