Hi,
When I originally created this post, I complained that there was no debugger anywhere that could debug my ELF file, even though the OS could load and execute the ELF file. A few of you comment on why that was so.
Well, I finally got around to implementing the debugger. Here is a black and white png I created. The frame pointer and stack pointer are highlighted on the right (stack pointer is faint in 8-bit greyscale). The two rows at the bottom are: (top row) R0 through R7, (bottom row) R8 through R15, followed by the condition register. The debugger commands '(s)tep', '(n)ext', and '(c)ontinue' are supported, as are breakpoints, that can be toggled with the 'b' command. When not in follow-the-breakpoint mode ('x' to toggle this mode), you can use 'j', 'k', 'u', 'd', '1', 'z' to navigate the disassembly. The debugger is implemented in 750 SLOC (source lines of code).
When I originally created this post, I complained that there was no debugger anywhere that could debug my ELF file, even though the OS could load and execute the ELF file. A few of you comment on why that was so.
Well, I finally got around to implementing the debugger. Here is a black and white png I created. The frame pointer and stack pointer are highlighted on the right (stack pointer is faint in 8-bit greyscale). The two rows at the bottom are: (top row) R0 through R7, (bottom row) R8 through R15, followed by the condition register. The debugger commands '(s)tep', '(n)ext', and '(c)ontinue' are supported, as are breakpoints, that can be toggled with the 'b' command. When not in follow-the-breakpoint mode ('x' to toggle this mode), you can use 'j', 'k', 'u', 'd', '1', 'z' to navigate the disassembly. The debugger is implemented in 750 SLOC (source lines of code).
Statistics: Posted by HPCguy — Sun Sep 07, 2025 5:10 am