2013-09-23 13 views
5

Próbuję debugować program w C z użyciem gdb.The kompilacji flagi, które używam są jak poniżejgdb: brak ładowalne odcinki znajdujące się w systemowej dostarczany dodany symbol-file DSO w 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 

wersji kompilatora, który używam jest

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. 

debugować jak

libtool gdb mytool

Ustawiam punkt przerwania i uruchamiam program. Wykonanie nie zatrzymuje się w punkcie przerwania i otrzymuję następujące ostrzeżenie.

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

Sprawdź to pytanie - http://stackoverflow.com/questions/18548139/gdb-warning-loadable-section-not-found-in-added- symbol-file-system-provided-dso. To może ci pomóc. –

+0

nope. Próbowałem używać static.wasn't przydatne :( – liv2hak

+1

Debugowanie niezoptymalizowanej kompilacji jest poza zakresem? – dbrank0

Odpowiedz

0

Spróbuj upuścić -O2 i -DNDEBUG.

-O2 ustawia poziom, optymalizacja trochę tak skompilowany kod nie może reprezentować, jak to jest napisane w plikach źródłowych, a flaga NDEBUG może przesłonić -g

0

Spróbuj usunąć wszystkie pliki obiektów i rekompilacja. Wpadłem na ten sam problem i nie mogłem debugować mojego programu za pomocą gdb. Użyłem cmake do kompilacji i udało mi się rozwiązać problem, uruchamiając make clean; make