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: Array of short values


On Wed, 2007-02-14 at 17:06 +0100, Christoph Bartoschek wrote:
> Am Mittwoch, 14. Februar 2007 schrieb Daniel Jacobowitz:
> > On Wed, Feb 14, 2007 at 04:32:08PM +0100, Christoph Bartoschek wrote:
> > > Hi,
> > >
> > > is it possible to easily set an array of short as a convenience variable?
> > >
> > > set $arr = (short *) {1, 2, 3}
> > >
> > > Currently I have to use:
> > >
> > > set $arr = (short *) {0x00020001, 0x00000003}
> >
> > I don't think so.  { (short) 1, (short) 2 } should work, though.
> > Maybe someone will add C99 support to the C parser some day, and
> > improve this along the way.
> >
> > Just so you know: this is probably not doing what you expect.  Try
> > "print $arr".  In fact it's probably calling malloc() in the program,
> > allocating memory, and stuffing your shorts there.  I did some
> > experimenting with this but got too confused by the parser - I'll be
> > back to it, since it's related to my recent Python project.
> 
> I would not expect that it calls malloc within the program, because malloc 
> could be broken during a debugging session. But I guess there are not many 
> other possibilities left.

For good or ill, gdb relies heavily on target malloc().
Any time you create a string or an array, gdb gets the 
target memory by calling malloc.

  set var mycharptr = "hello"

will call malloc.


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