2009-12-16 14 views
7

Mam zestaw podstawowych punktów przerw zdefiniowanych w zdefiniowanym przez użytkownika fn setup w mojej .gdbinit. Tak, za każdym razem, gdy zaczynam gdb, muszę wykonać to fn. ustawić wszystkie moje brkpoints, zanim zacznę debugowanie. Czy mogę skonfigurować mój plik .gdbinit, aby po uruchomieniu najpierw wykonywał zdefiniowany przez użytkownika fn setup?Jak sprawić, aby gdb uruchamiał funkcję zdefiniowaną przez użytkownika (zdefiniowaną w .gdbinit) przy każdym uruchomieniu?

Odpowiedz

9

Wystarczy nazwać po imieniu funkcję:

Moja .gdbinit:

define setup  
    echo Foobar\n 
end 

setup #This is the function call 

I kiedy go uruchomić:

$ gdb 
GNU gdb Fedora (6.8-37.el5) 
Copyright (C) 2008 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
This is free software: you are free to change and redistribute it. 
There is NO WARRANTY, to the extent permitted by law. Type "show copying" 
and "show warranty" for details. 
This GDB was configured as "x86_64-redhat-linux-gnu". 
Foobar 
(gdb) 
+0

Nie działa dla mnie - daje ten błąd: .no tabela symboli jest załadowana. Użyj polecenia "file". Nie załadowano tabeli symboli. Użyj polecenia "file". Nie załadowano tabeli symboli. Użyj polecenia "file". Nie załadowano tabeli symboli. Użyj polecenia "file". /home/sbhowmick/.gdbinit:83: Błąd w źródłowym pliku komend: Nie określono pliku wykonywalnego. Użyj polecenia "file" lub "exec-file". Używanie biblioteki hosta libthread_db "/lib/tls/libthread_db.so.1". używam GNU gdb Red Hat Linux (6.3.0.0-1.138.el3rh) – TCSGrad

+0

Mój plik .gdbinit wygląda tak: zdefiniowanie programu konfiguracji br fn1 br FN2 koniec określić some_other_fn ... koniec konfiguracja – TCSGrad

+0

Dzieje się tak, ponieważ nie masz załadowanego pliku binarnego, jeśli definiujesz punkty przerwania, plik binarny musi być załadowany już podczas uruchamiania GDB, np. musisz zdefiniować "plik a.out" lub smtg taki jak ten w .gdbinit przed ustawieniem punktów przerwania lub uruchom "gdb a.out" lub tak. – Kimvais

Powiązane problemy