Copyright (c) 2018-2022, Constantin Wiemer
cwdbg is a debugger for the AmigaOS, for both assembly-level and, to some extend, source-level debugging. It has a CLI (similiar to the one provided by GDB) and allows single-stepping through the code, setting breakpoints and inspecting registers, memory and the stack. In addition, it has some features geared towards "low-level debugging" and debugging code which you don't have the source code for, like recognizing and annotating system calls and dumping and disassembling arbitrary memory locations. So it's more in the spirit of debuggers like WinDbg or OllyDbg for Windows or the PwnDbg extension for GDB. It also allows remote debugging via a serial link, where on the (emulated) Amiga only a small debugger server runs and most of the functionality is provided by the debugger host. This host can run on Linux or macOS and features a TUI (character-based UI). The server is written in C and a bit of assembly, the host is written in Python using Capstone as disassembler and Urwid for the TUI. I wrote cwdbg mainly for educational purposes and fun, so it has only limited functionality and will for sure contain bugs. I am planning to add more support for source-level debugging, in particular printing the values of variables.