vAmiga DebuggerDebug Amiga programs with an integrated VAmiga emulator in vscode. Why?While there are already great extensions for developing Amiga programs in VS Code, this is intended to fill a specific niche, and take advantage of the possibilities offered by directly integrating the emulator in the editor.
Getting startedYou can use this debugger with any Amiga hunk executable built with debug symbols using the You'll need an extension which includes a Simply add a new debug launch config to your project using one of the vAmiga configuration snippets provided, and adjust the paths to your Amiga executable and ROMs in the current workspace. LimitationsEssentially, all limitations of VAmiga itself apply, and this extension does not support AGA or processors above 68020. No WinUAE specific functions such as logging or controlling warp mode are supported. While it is possible to debug C programs, with experimental support for ELF symbols, this is extension is really better suited for assembly programming. FeaturesFast loadThe Things to note:
Memory ViewerYou can view the memory at a given address in one of four formats:
You can open the memory viewer by:
The address input can be a numeric address, or an expression including symbols or register names. Amiga stateThis gives a GUI representation of various Amiga internal state. Currently this includes the screen setup and palette info, but more visualisations are planned. You can open the view by clicking the icon in the debug toolbar or 'VAmiga: Open Memory Viewer' from the command palette. Detailed variables listBeyond the usual register and symbol lists, many of the variables expand to give detailed info of bits and ranges set, and potential signed/unsigned interpretations of registers. Where an address equates to an offset from a know symbol this is also annotated. Repl consoleThe debug console can be used to evaluate expressions and read or write the emulator internal state. It uses a JavaScript-like syntax, with access to register and symbol variables, and various helper functions. Reverse steppingThe debugger supports stepping backwards to previous points where the emulator was stopped. While this isn't full time-travel debugging where the program can be run entirely in reverse, it does act as an undo button for stepping forwards in the code. It works by taking a snapshot each time the emulator stops. vAmigaWeb © mithrendal https://vamigaweb.github.io/doc/ vAmiga © Dirk W. Hoffmann https://dirkwhoffmann.github.io/vAmiga/ |