Machine interface

jacques jacqueslenormand@sympatico.ca
Tue Aug 19 06:45:00 GMT 2003


Hello, I've been doing some MI interface testing, and am in need of some 
grammar clarifications. After running until a breakpoint, I do the 
following:

(gdb)
-data-evaluate-expression b
^done,value="{<_Vector_base<int,std::allocator<int> >> = 
{<_Vector_alloc_base<int,std::allocator<int>,true>> = {_M_start = 
0x804aa50, _M_finish = 0x804aa58, _M_end_of_storage = 0x804aa58}, <No 
data fields>}, <No data fields>}"

Which is of the format:
output => result-record => "^" result-class ( "," result )
result-class => "done"
result => variable "=" value
value => tuple
tuple => "{" result "}"
...

Now all is well and fine, however the meat of the output, being the 
variable and value nonterminal symbols are unparseable! Indeed, they are 
composed of:
variable => string
value => const => c-string (since I can't fanthom not running into a 
const value after a while)

In this case, <_Vector_base<....>> is unparseable, and I wouldn't be 
able to know how to handle all cases. Furthermore, I don't see the 
distinction between c-string and string. I see how the production would 
depend on the programming language being being debugged, but it seems 
quite important to me.
--Jacques






More information about the Gdb mailing list