Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-debug-dev] MI questions

On Mon, 30 Sep 2002, Alain Magloire wrote:

> Excellent!  To provide console prompt to let (experience)users drive the
> debugger is something on the TODO list.  But for this gdb/MI has to
> return __MI responses__  not merely streams response.  If not the UI
> can not be updated and will fall out of sync.

The MI changes that I've made to do this include async event 
notifications. What you'll basically end up with is ALL output 
MI-encapsulated. So far, one thing left to do: encapsulate 
stdin/stdout/stderr (not an issue for remote targets).

> BTW, can gdb/mi deals with .gdbinit?

MI is gdb, so it will attempt to load .gdbinit at the same times that gdb 
does, afaik. If not, there's always the -gdb-source command.

> -data-evaluate-expression printf("hello world")
> ^error,msg="mi_cmd_data_evaluate_expression: Usage: -data-evaluate-expression expression"
> 
> We've exchange about this in another thread.

Sigh. It looks like spaces need to be escaped ("hello\ world").

> Are you refering to the -data-list-registers-xxxx commands or
> to using the use of registers as variable objects?
> The use of registers as variable object made things more easier
> especially when dealing with complex registers like xmm[0-7]
> But we are reverting to -data-list-register-xx see other post.

In Insight, we use -data-list-registers-xxxx-like commands exclusively. We 
do not use varobj for this.

> > Yes. In HEAD sources it certainly does. [Aside: In mi2, this will trigger
> > an event telling you that something has changed. Unfortunately, we cannot 
> > tell you WHAT changed. Only that the state of the target has changed. This 
> > is necessary because there are some really goofy systems out there, like 
> > those with memory-mapped registers.]
> 
> When you trigger an event, do you mean after an
> -var-update *
> or after the assignment or a changelist={...} will magically appear
> from a oob.

The event will fire when the change occurs:

   (gdb)
   set *(int*)&x=32
   =target-changed
   (gdb)

Keith




Back to the top