blog:pushbx:2023:0308_ldebug_release_5
lDebug release 5
2023-03-08
The lDebug release 5 is imminent. Update: The release is done, grab packages at https://pushbx.org/ecm/download/ldebug/ or the source at https://hg.pushbx.org/ecm/ldebug/rev/release5
It brings several new features:
- Support for 40-column displays in the R, U, D, and E commands
- Expression types
- The QA and QB and QC and QD commands
- RC buffer commands
- The RVP and RVD commands
- The device driver mode
- The conditionally debuggable lCDebug build option
- Dual code segments build option
- Sharing serial IRQs
- The TAKEN and NOTTAKEN keywords
- Debugger exception areas and AMIS private function 33h
- The CLR operator
- Variables to control the default length of U and D commands
- INSTALL and UNINSTALL commands
- Descriptor modification commands
- Query patch support for bootloaded mode
- MMX support commands fixed
IF EXISTS R variable THENcommand
It also has a number of bugfixes, including:
- lDebugX in PM handles 32-bit offsets correctly more often, detects use of 32-bit offsets from limits > FFFFh
- Use of the scratch selector works in some cases where it would have failed
- R write memory variable command doesn't crash for values ending in FFFFh anymore
- A range parameter can be ended by a semicolon comment indicator
- Interrupt 19h call while in application mode now sets up registers to terminate the process on the next trace step
- Current PSP is read and written using the SDA even in PM
- Empty binaries now cause an error even if the DOS incorrectly handles them (FreeDOS kernel bug)
- No longer crash in init if there's no UMCB but int 21.5803 is supported
- Do not crash in init if int 2Fh is not initialised
- WHILE condition not checked if pass or non-pass permanent breakpoint runs
- The ldebug.txt file is now converted to CR LF line endings immediately after Halibut has created it
- Command line tail in PSP also set up for loading .BIN files
- Empty /C switch does not cause an error
- Terminate properly on reaching the end of a stdin file
- AAM and AAD do not display an operand in disassembly if it would be
0A - RC buffer execution is aborted by a Control-C
- XMS Protected Mode entrypoint is no longer used by default
r f .works- Bootloaded sector read that crosses a 64 KiB DMA boundary copies correct amount of data from transfer buffer
u(bootldpunit).(bootldppart)works even if LDP is a diskette file system- Serial IRQ handler passes on call if its IRQ isn't set in the In-Service Register of the PIC
- RC command line parsing skips leading blanks
- Double slash without subsequent command line allowed for
BOOT PROTOCOLcommand - E and A commands in PM display original selector even if actually writing through the debugger's scratch selector
- C command never uses debugger's scratch selector (and does not display it either)
- Do not fault if scratch selector got a low limit in some way
BOOT PROTOCOLcommand always allows use of ENTRY and BPB parameters- Allow all address specifications for M command
- Disassemble
movwith segreg and memory operand as always m16 - Allow operators between
??and::in H command - Allow single-digit interrupt number for RIxxy variables
- Disabling string instruction simulation now assumes count as 1 for the access variables
- Operand size prefix disassembled as part of a
pushorpopwith segreg - Do not simulate string instruction on U command
- lDebugX preserves scratch selector across
getexpressioncalls - lDebugX TSR command works in PM
- Set sleep delta limit to 5 to work around idle function needing more than 1 timer tick
- Allow bootloaded debugger to access small FAT32 file systems (below 64 Ki clusters)
- Q or QA could fail due to corrupting the client stack in the PM interrupt 21h handler
- Access variables for
intinstructions select size based on mode, ignore operand-size of the instruction - Fix S command error if search mask is longer than search area
- Support
EXECUTINGkeyword on non-386 machines - Allow access to
VDvariable using R command - Creating a process resets the DTA
- Bootloaded init relocation could corrupt part of the debugger in an unlikely case
- RM command and MMxy register reads work
You could leave a comment if you were logged in.
blog/pushbx/2023/0308_ldebug_release_5.txt · Last modified: by ecm
