2009-12-10 12 views
34

Chcę, aby wykonać bardzo proste polecenieDrukowanie wielu zmiennych z jednego polecenia w GDB

print var1, var2, var3, var4 

w gdb zbadać Wartości Vars od czasu do czasu.

Nie chcę używać wyświetlacza, ponieważ powoduje on zatarcie mojego widoku.

Jak mogę to zrobić? Teraz wszystko, co mogę zrobić, to:

p var1 
p var2 
p var3 
p var4 
+1

Zadziwiające jego 2016 i ten problem jest nadal obecny. – jww

Odpowiedz

26

użyć polecenia printf. To trochę kłopotliwe, ale daje dobrą kontrolę nad formatowaniem. Z wiersz:

(gdb) help printf 
printf "printf format string", arg1, arg2, arg3, ..., argn 
This is useful for formatted output in user-defined commands. 

Łańcuch format jest jak w C (% D wskazówki zwykłych wymiarach,% s zerową zakończone łańcuchy, itp.)

+0

Dzięki TGV i Edwardowi –

22

Można po prostu zrobić to

print {var1,var2,var3,var4} 

To będzie wykonać zadanie.

+4

Występuję w błędzie 'elementy tablicy muszą mieć ten sam rozmiar". – pevik

-10

Możesz użyć spacji między dwiema zmiennymi.

print var1 var2 
+0

To nie działa: "(gdb) p this this" daje "Błąd składni w wyrażeniu, w pobliżu" tego "." – craigster0

13

używać makr:

Na przykład, aby kontynuować następnego punktu załamania i wydrukować

(gdb) define prm 

poleceń typu w zakresie definicji prm. Zakończ wierszem mówiącym tylko end.

>continue 
>print var1 
>print var2 
>print var3 
>end 

(gdb) prm 
$5 = 0 
$6 = 10 
$7 = -1 
Powiązane problemy