MI async status output

Andrew Burgess aburgess@broadcom.com
Fri Apr 11 12:57:00 GMT 2014


On 10/04/2014 9:12 PM, Bob Rossi wrote:
> On Thu, Apr 10, 2014 at 07:00:54PM +0400, Vladimir Prus wrote:
>> On 10.04.2014 01:08, Bob Rossi wrote:
>>> I'm writing unit tests for my MI parser and was trying to get
>>> GDB to output some out of band, async records of type:
>>> status-async-output.
> ...
>>> Does anyone have a simple recipe for getting GDB to output some
>>> async status output?
>>
>> I think the only case where "+" notification is used is load command
>> with sufficiently big binary. See mi-main.c:mi_load_progress. I don't
>> know whether it can be triggered without bare-metal target.
> 
> It's unobvious to me how to get GDB to trigger this functionality.
> 
> I'd be greatful if anyone could show a quick example getting code
> coverage on GDB where the mi-main.c:mi_load_progress code is hit
> which outputs the 
>       fputs_unfiltered ("+download", raw_stdout);
> lines (or similiar async status output in GDB).

It's triggered as part of the progress update for MI loads.  The
progress callback is called at least, for each section that is
loaded.

I did the this:

1. Build hello-world test program, which contained at least a .text and
.data section.
2. Start gdbserver as: gdbserver :1234 helloworld.exe
3. Start gdb as: gdb -i mi helloworld.exe
4. Within gdb:
   (gdb) -target-select remote :1234
   (gdb) -target-download
   # Bunch of +download lines
   # Single ^done line.

Hope that helps,
Andrew




More information about the Gdb mailing list