This shows you the differences between two versions of the page.
— |
blog:pushbx:2023:0212_overview_of_debuggers [2023-02-12 17:36:37 +0100 Feb Sun] (current) ecm created |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Overview of debuggers ====== | ||
+ | |||
+ | **2023-02-07** | ||
+ | |||
+ | ===== SID ===== | ||
+ | |||
+ | The Symbolic Instruction Debugger, shipped with CP/M and the basis for DR-DOS' | ||
+ | |||
+ | ===== 86-DOS Monitor ===== | ||
+ | |||
+ | Ancestor of MS-DOS Debug. | ||
+ | |||
+ | ===== Microsoft Debug ===== | ||
+ | |||
+ | The original debugger, shipped with MS-DOS and the NTVDM for a long time. An early version lacking some features is included in the free software MS-DOS v2 release (under MIT License). I modded this to recreate some of the missing features of later versions, in the repo called msdebug. | ||
+ | |||
+ | |||
+ | ===== DDT ===== | ||
+ | |||
+ | The Driver Debugger Tool, optimised for the low memory and small visible screen size of the Atari Portfolio. Under GNU GPL v2-or-later. Can load and probe block device drivers, written to test an IDE driver for the Pofo. No assembler included. | ||
+ | |||
+ | |||
+ | ===== Insight ===== | ||
+ | |||
+ | A real-mode debugger with 486 disassembler (but 16-bit assembler), and a windowed interface. Under GNU GPL v2-or-later. Originally from the mid-1990s, got some development in the 2000s. I continued its development starting in 2018. I also more recently decided to base the Einsicht companion interface to lDebug on this. | ||
+ | |||
+ | ===== FreeDOS Debug ===== | ||
+ | |||
+ | Started in the 1990s by Paul Vojta, interface based on Microsoft Debug. Since 2003 or so development was continued by Japheth, adding DPMI support and many extensions. Ships with autorepeat for D, U, and T commands. Under MIT License. | ||
+ | |||
+ | ===== DOS Debug/X ===== | ||
+ | |||
+ | Japheth' | ||
+ | |||
+ | ===== Enhanced Debug ===== | ||
+ | |||
+ | Non-free (not distributable) though source-available fork of FreeDOS Debug, created by a former PC-DOS kernel developer. Adds DW and DD data dump commands, a P command which proceeds until a return instruction has run, autorepeat for P command, and page flipping support. | ||
+ | |||
+ | ===== lDebug ===== | ||
+ | |||
+ | FreeDOS Debug fork by me. Adds expression evaluator, autorepeat for P and G commands, TP command, general paging of long output, NASM-style disassembly and assembly, many runtime options, RE command buffer for trace register dump, RC command buffer and the /C command-line switch to initialise it, bootable and device-driver and resident (TSR) mode all in one generic build, debuggable and conditionally debuggable builds, buffered (silent) tracing, conditional tracing, permanent breakpoints, | ||
+ | |||
+ | The build process of lDebug is complex, and a default build of the debugger needs in excess of 100 KiB of resident memory. It is also likely slower than other debuggers. | ||
+ | |||
+ | ==== TracList - lDebug companion application ==== | ||
+ | |||
+ | TracList is a Perl script which listens to an lDebug session from a serial I/O connected terminal. It detects the last debugger disassembly and searches for matches in one or more listing files, displaying the result in its terminal TUI. It is designed to work with NASM listing files. | ||
+ | |||
+ | ==== Einsicht - lDebug companion application ==== | ||
+ | |||
+ | Einsicht is a planned companion application that is to connect to lDebug' | ||
+ | |||
+ | ==== Allegory - lDebug symbolic builds ==== | ||
+ | |||
+ | This codename is for the planned releases of symbolic lDebug and its support scripts. The first phase was lDebug' | ||
+ | |||
+ | {{tag> | ||
+ | |||
+ | |||
+ | ~~DISCUSSION~~ | ||