This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gdb printing of dynamically allocated matrix


Focus of this mail is GDB on 1D and 2D arrays.

I have pasted a small C-code program at
http://pastebin.com/f63009dd8
(download from http://pastebin.com/pastebin.php?dl=f63009dd8)
which I like your opinion on.

I compile it with "gcc -g"
Throw a breakpoint on line 59 and run under gdb.

* I can see the contents of the "a"-vector in by
 (gdb) print *a @ 3
 Very cool!

* I can see the matrix (2D array) contents of the "c"
 matrix by
 (gdb) print c
 Elegant - very cool!

* However how can I use GDB to see the contents of "b"
 similar to the contents of "c" and "a"?
 The best I can do is
 (gdb) print *b[0] @3
 (gdb) print *b[1] @3
 Obviously I would like to do the display in one command rather
 than several, especially if I changed the b-matrix to be b[7][8]
 I think I will manually have to supply the length of the vectors,
 but it seems that I cannot do a compound GDB-operation like
 (gdb) print **b @3 @2
 and get
 {{2, -2, 22},{12 -12 -12}}
 instead I get
 {{2, -2, 22},{17# 12# -12}}
 where I have inserted #-marks where I find wrong values.
 How come that the next vector contains wrong values?
 Or rather - how can I see the b content in one command?

Best


-- Peter Toft <pto@linuxbog.dk>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]