MAIN DEBUG MODE
This is the main loop of the debugging session. It continues until the session is ended by either side closing their socket or by the debugger sending the QUIT command. The debugger is always in control, sending a single command at a time for the application to execute. The application always gives a response to each command. If the command is not understood, it results in a DENIED response.
Note that it is possible to not use the GO command described below and the various breakpoint commands that go along with it. This could be done by using STEP only and making the checks yourself in the debugger. This is strongly discouraged. Experimentation has shown that the speed penalty is enormous.
SEND FILE filename
BREAKPOINT ADD/REMOVE filename:line-number
EXPR ADD expression
EXPR REMOVE #number
TEST BREAKPOINT filename:line-number
GET object index
STRING object index
VARNAME object index