PDA

Visualizza la versione completa : aiuto su gdb in linux


puntovale
15-04-2010, 19:26
Ciao

Sto usando un programma in linux che però in determinate circostanze mi termina in errore (segfault). Ho pensato quindi di usare il debugger gdb di linux per cercare di capire cos'è che causa il blocco. Riprodotta la circostanza, da gdb ottengo il seguente output:

[Switching to Thread 0x7fffe51b7910 (LWP 10726)]
0x00007ffff49fedf8 in gazebo::OgreCamera::GetVFOV() const () from /usr/local/lib/libgazebo_rendering.so
(gdb)

deduco che la funzione che causa il blocco si trova in libgazebo_rendering.so. Il problema è che il file non riesco ad aprirlo essendo in formato binario e pur riuscendoci non credo che potrei capirci granché. Come faccio ad individuare il file sorgente da cui è stato ottenuto libgazebo_rendering.so ?

sacarde
16-04-2010, 20:36
http://playerstage.sourceforge.net/doc/Gazebo-manual-0.4.0-html/node12.html

puntovale
17-04-2010, 10:54
grazie ma il codice sorgente ce l'ho ed alla fine, cercando tra i vari file sorgente sono riuscito a trovare la funzione incriminata. Solo che dover cercare ognivolta all'interno di decine e decine di file lo trovo un pò macchinoso, magari c'è un modo più semplice per individuare dove si trova la funzione che causa il segfault?

Loading