User Tools

Site Tools


blog:pushbx:2022:0804_conditionally_debuggable_ldebug

This is an old revision of the document!


Conditionally Debuggable lDebug

The "go everywhere, do everything" theme of lDebug has gained a new feature: Conditionally Debuggable builds allow to switch between the non-debuggable mode (handlers are hooked when the debugger starts up and unhooked only when it terminates), and the debuggable mode.

In the debuggable mode, the prior debugger's handlers are preserved in most of the debuggable application. Only when calling the run function, the debuggable debugger sets up its own handlers. That means a great majority of the debuggable's code can be debugged using another instance of lDebug.

Traditionally, FreeDOS Debug would require a lower-level debugger like one built into a virtual machine to be debugged. In recent years build options were added to never hook interrupts 1 (trace interrupt) and 3 (breakpoint interrupt), allowing to debug most parts. However, these options imply that you cannot actually run a debuggee and have it return control to the instance that is to be debugged.

You could leave a comment if you were logged in.
blog/pushbx/2022/0804_conditionally_debuggable_ldebug.1659643133.txt.gz · Last modified: 2022-08-04 21:58:53 +0200 Aug Thu by ecm