This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: set $argv = *argv@100
- From: Kevin Buettner <kevinb at redhat dot com>
- To: Andrew Cagney <ac131313 at cygnus dot com>, gdb at sources dot redhat dot com
- Date: Mon, 11 Feb 2002 23:21:54 -0700
- Subject: Re: set $argv = *argv@100
- References: <3C68AC89.4030807@cygnus.com>
On Feb 12, 12:47am, Andrew Cagney wrote:
> Consider the sequence:
>
> (top-gdb) print argv
> $4 = (char **) 0xbfbfd3cc
> (top-gdb) set $argv = *argv@100
> (top-gdb) print $argv
> $5 = (char **) 0xbfbfd3cc
> (top-gdb) print sizeof ($argv)
> $6 = 0x4
> (top-gdb) print sizeof (*argv@100)
> $7 = 0x190
>
> should $argv have been assigned the contents of *argv@100 or just the
> address?
I think the address is right. The problem is that $argv isn't the right
type. According to the above, it's ``char **'' when it should be
``char *[100]''.
Try this:
(top-gdb) set $argva = &(*argv@100)
(top-gdb) print $argva
$23 = (char *(*)[100]) 0xbffff99c
(top-gdb) ptype $argva
type = char *(*)[100]
(top-gdb) ptype *$argva
type = char *[100]
Kevin