A new project to house the SVM debugger should be created, named shodb.
It will work similarly to shogun, but with a few extras. It will use ncurses for UI (and provide the necessary replacements for the SVM console library). A signal handler will be registered, and when either a flag is passed on the command line or ctrl+c is pressed the virtual machine will halt execution. If the DBRK opcode is run, it will also break into the debugger.
A command line will appear and ask for a command. The following commands should be implemented (for now):
step [count=1]
Run count operations before returning control to the debugger
state
Pulls up the stack and heap on screen
continue
Continues execution in the virtual machine
break
Place a breakpoint at address
break-line
Place a breakpoint at all operations that have debugging information at line.
A new project to house the SVM debugger should be created, named shodb.
It will work similarly to shogun, but with a few extras. It will use ncurses for UI (and provide the necessary replacements for the SVM console library). A signal handler will be registered, and when either a flag is passed on the command line or ctrl+c is pressed the virtual machine will halt execution. If the DBRK opcode is run, it will also break into the debugger.
A command line will appear and ask for a command. The following commands should be implemented (for now):
step [count=1]
Run count operations before returning control to the debugger
state
Pulls up the stack and heap on screen
continue
Continues execution in the virtual machine
break
Place a breakpoint at address
break-line
Place a breakpoint at all operations that have debugging information at line.
unbreak
Removes breakpoint at address
unbreak-line
Removes all breakpoints at line