PlusPim — MIPS Assembly Debugger for VS Code
A VS Code extension that integrates the PlusPim time-travel debugger for MIPS assembly code.
Features
- Step execution — Step through MIPS assembly one instruction at a time.
- Step back — Rewind execution to the previous state (time-travel debugging).
- Register view — Inspect all 32 MIPS registers,
HI, LO, and PC during a debug session.
- Label resolution — Jump targets and branch labels are resolved automatically.
- DAP trace — Optional DAP communication logging to the PlusPim DAP Trace output channel.
Requirements
Getting Started
- Open a MIPS assembly file (
.asm).
- Open the Run and Debug view (
Ctrl+Shift+D).
- If no
launch.json exists, VS Code will prompt you to create one — select PlusPim Debugger.
The generated configuration looks like this:
{
"version": "0.2.0",
"configurations": [
{
"type": "pluspim",
"request": "launch",
"name": "Minimal Launch",
"program": "${file}"
}
]
}
- Press F5 to start debugging the currently open file.
Launch Configuration
| Property |
Type |
Default |
Description |
program |
string[] |
["${file}"] |
Path to the MIPS assembly file(s). A single string or an array of paths. |
port |
number |
4711 |
TCP port used for the DAP connection. |
args |
string[] |
[] |
Extra arguments passed to the debug adapter (e.g. ["--verbose"]). |
trace |
boolean |
false |
Show DAP protocol messages in the output channel. |
How It Works
When a debug session starts, the extension:
- Spawns the bundled
PlusPim binary in a VS Code terminal, passing the target file and options.
- Waits for the debug adapter to start listening on the configured TCP port (default
4711).
- Connects VS Code to the adapter via
DebugAdapterServer over TCP.
On session termination, the terminal is automatically disposed.
Known Limitations
- Only Windows (x64) and Linux (x64) are supported. macOS is not available.
License
MIT
| |