2013-09-23 8 views
5

Sto cercando di eseguire il debug di un programma C utilizzando gdb.The compilazione bandiere che sto usando è come qui sottogdb: nessun sezioni caricabili si trovano in simbolo-file aggiunto fornito dal sistema DSO a 0x2aaaaaaab000

-fno-strict-aliasing -Wall -DHAVE_CONFIG_H -DNO_OLD_ERF_TYPES -Werror -Wredundant-decls -O2 -DNDEBUG -DBYTESWAP -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -g 

La versione del compilatore che sto usando è

gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52) 
Copyright (C) 2006 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

il debug come

libtool gdb MyTool

Ho impostato il punto di interruzione ed eseguito il programma. L'esecuzione non si ferma al punto di interruzione e viene visualizzato il seguente avviso.

warning: no loadable sections found in added symbol-file system-supplied DSO at 0x2aaaaaaab000 
[Thread debugging using libthread_db enabled] 
+0

Controlla questa domanda - http://stackoverflow.com/questions/18548139/gdb-warning-loadable-section-not-found-in-added- simbolo-file-system-fornito-DSO. Questo potrebbe aiutarti. –

+0

no. Ho provato a utilizzare static.wasn't useful :( – liv2hak

+1

Il debug di build non ottimizzate è fuori dalla quiete? – dbrank0

risposta

0

Provare a eliminare -O2 e -DNDEBUG.

Il -O2 imposta il livello di ottimizzazione un po 'in modo che il codice compilato non può rappresentare come è scritto nei file di origine e la bandiera NDEBUG potrebbe ignorare il -g

0

provare a cancellare tutti i file oggetto e ricompilazione. Mi sono imbattuto in questo stesso problema e non ero in grado di eseguire il debug del mio programma usando gdb. Ho usato cmake per compilare ed è stato in grado di risolvere il problema eseguendo make clean; make