This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: set print null-stop
well, sorry for inattention, 7.2 doesn't have this bug and I've found it in the tracker
http://sourceware.org/bugzilla/show_bug.cgi?id=11049
Thanks for giving a right direction.
By the way, after executing "set print null-stop" in MI mode -data-evaluate-expression also start to
work well, though I understand it's not a good idea to mix MI and not-MI commands
(gdb)
-data-evaluate-expression str
^done,value="\"i=0\\000\\000\\000\""
(gdb)
set print null-stop
&"set print null-stop\n"
^done
(gdb)
-data-evaluate-expression str
^done,value="\"i=0\""
On Sun, 23 Jan 2011 14:20:05 +0100
Jan Kratochvil <jan.kratochvil@redhat.com> wrote:
> On Sat, 22 Jan 2011 09:40:56 +0100, Alexander Petukhov wrote:
> > Hello, maling list.
> > Can't make "set print null-stop" work as written in manual.
> > For example:
> >
> > char str[7];
> > sprintf(str, "i=%i", 0);
> >
> > (gdb) p str
> > $1 = "i=0\000\017\377\267"
> > (gdb) set print null-stop
> > (gdb) p str
> > $2 = ""
> >
> > Does this feature work or I'm doing something wrong?
>
> Works for me:
>
> echo 'char str[7]="i=0";main(){}'|gcc -x c - -g;./gdb -nx ./a.out
> GNU gdb (GDB) 7.2.50.20110123-cvs
> This GDB was configured as "x86_64-unknown-linux-gnu".
> (gdb) p str
> $1 = "i=0\000\000\000"
> (gdb) set print null-stop
> (gdb) p str
> $2 = "i=0"
>
>
> > Another question - is there a corresponding gdm/mi command?
>
> String AFAIK has to be read in MI char-by-char so it is irrelevant.
>
> -var-create a * str
> ^done,name="a",numchild="7",value="[7]",type="char [7]",has_more="0"
> -var-evaluate-expression a
> ^done,value="[7]"
> -var-create - * str[0]
> ^done,name="var1",numchild="0",value="105 'i'",type="char",has_more="0"
> -var-create - * str[1]
> ^done,name="var2",numchild="0",value="61 '='",type="char",has_more="0"
>
>
> Regards,
> Jan
>
--
Best regards,
Alexander Petukhov <Alexander.Petukhov@mail.ru>