DebugBox is an external debugger for DOSBox.
Basically DOSBox has built-in debugger and it's good enough, but as a console application it has limited usability.
- uses D-Bus for inter-process communication with DOSBox.
Execute
cargo build
to compile in debug mode orcargo build --release
for release mode.
You can build DOSBox locally but it's more convenient to do this in Docker:
cd ./dosbox
docker build -t dosbox .
docker run --rm --entrypoint bash dosbox -c 'cat /app/dosbox-staging/src/dosbox; sleep 1' > dosbox-dbus
chmod +x dosbox-dbus
Start the DOSBox and hit Alt + Pause
(Fn + Alt + P
on modern keyboards) to break in.
Get the value of EAX
:
busctl --user call com.dosbox /cpu/regs/eax com.dosbox get
Resume execution with the following command:
busctl --user call com.dosbox /cpu com.dosbox run