This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
gdb printing of dynamically allocated matrix
- From: "Peter Toft" <pto at linuxbog dot dk>
- To: gdb at sourceware dot org
- Date: Wed, 18 Jul 2007 13:22:33 +0200
- Subject: 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>