Questions about GDB/MI
Nick Roberts
nick@nick.uklinux.net
Tue Feb 4 23:32:00 GMT 2003
I'm trying to get my head round GDB/MI and have a few simple/dumb questions:
Simple example in info pages:
You say:
> -> -stop
> <- (gdb)
>
> and later:
>
> <- *stop,reason="stop",address="0x123",source="a.c:123"
> <- (gdb)
I get:
-> -stop
<- ^error,msg="Undefined MI command: stop"
<- (gdb)
You say:
> -> print 1+2
> <- ~3\n
> <- (gdb)
I get:
-> print 1+2
<- &"print 1+2\n"
<- ~"$1 = 3"
<- ~"\n"
<- ^done
<- (gdb)
Running a simple program, I get a sequence like:
-> -exec-next
<- ^running
<- (gdb)
<- *stopped,reason="end-stepping-range",thread-id="0",frame={addr="0x08048578",func="main",args=[],file="myprog.c",line="18"}
<- (gdb)
According to the GDB/MI Output Syntax shouldn't that be:
-> -exec-next
<- ^running
<- *stopped,reason="end-stepping-range",thread-id="0",frame={addr="0x08048578",func="main",args=[],file="myprog.c",line="18"}
<- (gdb)
i.e isn't that one (gdb) too many?
My simple program prints out:
a[0]=0
shouldn't that be:
@"a[0]=0"
Annotation uses ^Z^Z to flag things which I guess is not normal output. What
would happen if the program being debugged printed out strings like *stopped
or ^running? These only contain ASCII characters after all.
And one question about the repository. I've checked out as Elena advised. I've
got the interp branch but every time I use `cvs update' in src, even without
the -d option it keeps on trying to give me other directories like binutils. I
have to go into gdb and do `cvs update' there where I just get gdbtk but I'm
worried that then I might be missing other files that I need..
Nick
More information about the Gdb
mailing list