2012-03-21 13 views
12

Szukam, aby ustawić ścieżkę dla kodu źródłowego podczas debugowania za pomocą gdb. Wybrałem to z plikiem .gdbinit.Jak uzyskać dostęp do zmiennych środowiskowych wewnątrz .gdbinit i wewnątrz samego GDB?

Zasadniczo, to zawiera polecenie:

directory="/path/to/src". 

Jednakże chciałbym być w stanie określić, że komendy jak:

directory="$SOURCESROOT/src" 

gdzie SOURCESROOT jest zmienną środowiskową. Jeśli to możliwe, możesz to zrobić również w sesji debugowania gdb, wpisując directory=$SOURCESROOT/folder.

Zasadniczo szukam dostępu do wewnątrz zmiennych gdb (lub wewnątrz .gdbinit).

Ale nie środowisko debugee (set env i tak dalej), ale środowisko samego gdb (np. Bash prompt, w którym wpisuję najpierw "program gdb").

Podczas wpisywania shell $SOURCESROOT wewnątrz sesji gdb pokazuje zawartość zmiennej środowiskowej, jest to zupełnie bezużyteczne, ponieważ nie mogę wpisać: directory=shell $SOURCESROOT.

PS: Każdy znalazł idealną konfigurację dla systemu Linux (Debian) do pobrania źródeł z "apt-get source", aby zaktualizować te przy użyciu jakiegoś polecenia "apt-get update" utop i zainstalować je tak, aby gdb automatycznie znajdzie te źródła?

Odpowiedz

16

Nieważne, znalazłem, jak to zrobić za pomocą skryptów w języku Python.

Mój plik .gdbinit jest teraz:

python 
import os 
gdb.execute('directory' + os.environ['SOURCES'] + '/package_name/src') 
end 

show directories 
1

Jeśli nie chcą wiązać pytona, to może działać?

"pokaż środowisko [zmienna nazwa] Wydrukuj wartość zmiennej środowiskowej nazwa, która ma zostać nadana programowi po uruchomieniu.Jeśli nie podasz nazwy zmiennej, wydrukuj nazwy i wartości wszystkich zmiennych środowiskowych, które mają być podane w twoim programie Możesz skrócić środowisko jako środowisko. "

ftp://ftp.gnu.org/old-gnu/Manuals/gdb/html_node/gdb_19.html

Może być stosowany do warunków, a także:

https://www.adacore.com/gems/gem-119-gdb-scripting-part-1

Powiązane problemy