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)