This subsection presents several simple examples of interaction using
the GDB/MI interface. In these examples, -> means that the
following line is passed to GDB/MI as input, while <- means
the output received from GDB/MI.
Here's an example of stopping the inferior process:
-> -stop
<- (gdb)
and later:
<- *stop,reason="stop",address="0x123",source="a.c:123"
<- (gdb)
Here's an example of a simple CLI command being passed through GDB/MI and on to the CLI.
-> print 1+2
<- &"print 1+2\n"
<- ~"$1 = 3\n"
<- ^done
<- (gdb)
-> -symbol-file xyz.exe
<- *breakpoint,nr="3",address="0x123",source="a.c:123"
<- (gdb)
Here's what happens if you pass a non-existent command:
-> -rubbish
<- ^error,msg="Undefined MI command: rubbish"
<- (gdb)