gdb printing of dynamically allocated matrix
Peter Toft
pto@linuxbog.dk
Wed Jul 18 20:32:00 GMT 2007
On Wed, 18 Jul 2007, Daniel Jacobowitz wrote:
> On Wed, Jul 18, 2007 at 01:22:33PM +0200, Peter Toft wrote:
> > * 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 don't believe this is possible without writing a user-defined
> command for it - see the manual.
Something like
define matprint
set $i = 0
while $i< $arg1
echo $arg0[$i++][0] @ $arg2
end
end
so I then can do
(gdb) matprint c 2 3
close but I quess it can be made better[1]
>
> > How come that the next vector contains wrong values?
>
> It's printing six consecutive elements from memory.
Yeah - seems to be the case
Thanx Daniel
Best regards
Peter
[1] after GDB-101 manual crash reading :)
--
Peter Toft, Ph.D. [pto@linuxbog.dk] http://petertoft.dk
Følg min Linux-blog på http://www.version2.dk/blogs/petertoft
More information about the Gdb
mailing list