This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
MI query questions
- From: Bob Rossi <bob_rossi at cox dot net>
- To: gdb at sources dot redhat dot com
- Date: Mon, 29 May 2006 08:23:37 -0400
- Subject: MI query questions
Hi all,
I was looking at what else I need in MI working before I have a minimal
FE working properly. This is one area of concern to me.
This is from the console:
(gdb) b A::func
[0] cancel
[1] all
[2] A::func(float) at overloaded.cpp:8
[3] A::func(int) at overloaded.cpp:7
> q
Arguments must be choice numbers.
(gdb) q
This is from MI interp:
(gdb)
-break-insert A::func
~"[0] cancel\n[1] all\n"
~"[2] A::func(float) at overloaded.cpp:8\n"
~"[3] A::func(int) at overloaded.cpp:7\n"
>
The first small issue is that the '[1] all\n' choice is on the same
line as the [0] choice. This may not be a problem at all, I'm not sure.
It looks as if this case would still output properly on the FE's console
window.
The second issue is how GDB outputs a final ">" line. This isn't a valid
GDB/MI Output record/command. At least, I don't think it is. If I select
an option, then I get this
> 1
^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x08048381",func="A::func(float)",file="overloaded.cpp",fullname="/home/bob/rcs/svn/cgdb/cgdb.mi/cgdb/tgdb/testsuite/tgdb.base/overloaded.cpp",line="8",times="0"},bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x0804837b",func="A::func(int)",file="overloaded.cpp",fullname="/home/bob/rcs/svn/cgdb/cgdb.mi/cgdb/tgdb/testsuite/tgdb.base/overloaded.cpp",line="7",times="0"}
(gdb)
Which looks pretty good to me. So the problem is, the line ">"
apparently means to get input from the user. This isn't specified in the
MI OUTPUT record. Should we change the OUTPUT record to represent
interactive commands?
Has someone else already thought about a good way to handle this?
Thanks,
Bob Rossi