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]

Re: gdb printing of dynamically allocated matrix


On Wed, 18 Jul 2007, Peter Toft wrote:

> 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] 

or ...
define matprint2
  set $i = 0 
  print  
  printf "{{"
  while $i< $arg1 
    set $j = 0  
    printf "%d",$arg0[$i][$j++]
    while $j< $arg2
      printf ", %d",$arg0[$i][$j++]
    end
    printf "}"
    set $i = 1+$i
    if $i < $arg1
      printf ", {"
    end
  end
  printf "}\n"
end


(gdb) matprint c 2 3
{{2, -2, 22}, {12, -12, 212}}

>From the manual I don't understand how the macro is further hacked to also 
give the exact output format as 
(gdb) print c
$1 = {{2, -2, 22}, {12, -12, -12}}

so my matprint does not insert into a dollar variable - can someone help 
with this last part?

/peter

> 
> 
> > 
> > >  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
> 

-- 
Peter Toft, Ph.D. [pto@linuxbog.dk] http://petertoft.dk
Følg min Linux-blog på http://www.version2.dk/blogs/petertoft

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