set print null-stop

Alexander Petukhov al_petukhov@mail.ru
Sun Jan 23 18:23:00 GMT 2011


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>



More information about the Gdb mailing list