📄 addendum.280
字号:
5d, the highlight to 40 and the reverse to 74.
-------------------------------------------------------------------------
R
R -- Display or change register values
Syntax:
R [ register name [[=]value]]
register name Any of the following:
EAX, AX, AH, AL
EBX, BX, BH, BL
ECX, CX, CH, CL
EDX, DX, DH, DL
EDI, DI, ESI, SI
EBP, BP, ESP, SP
CS, DS, ES, SS
FS, GS, FL
value If register name is any name other than
FL, value is a hex value or an expression.
If register name is FL, value is a series
of one or more of the following flag
symbols, each optionalyy preceded by a plus
or minus sign:
O ( Overflow flag )
D ( Direction flag )
I ( Interrupt flag )
S ( Sign flag )
Z ( Zero flag )
A ( Auxiliary carry flag )
P ( Parity flag )
C ( Carry flag )
Comments:
If no parameters are supplied, all register and flag values are displayed,
as well as the instruction at the current CS:IP address.
If both register name and value are specified, the specifed register's
contents are changed to the value.
---------------------------------------------------------------------------
SL
SL - Show window seperator lines
Syntax:
SL
Comments:
The SL command puts borders between each of the data windows inside Soft-ICE.
This command is particularly helpful for debugging on monochrome monitors.
By default, the lines do not show.
===========================================================================
NEW FEATURES
------------
Display FS and GS segment registers.
Highlight registers that have changed since the last time
Soft-ICE was entered.
Display "JUMP" or "NO JUMP" when stepping through a
program if the current instruction is a conditional jump.
Set breakpoints in VROOM overlays.
Display of local (stack) variables by name.
Changed BPR ... TW to work on data areas; this records
all instructions which write to that area.
Using .PTH & .SRC Files
If there is no SET SRC=... statement within the
environment, LDR.EXE will attempt to open a file named
program-name.PTH. If such a file exists, LDR will read it
and will use the paths specified within to look for the
source files. In version 2.71, this was modified to make
LDR.EXE look for a program-name.PTH file first, so that it
supersedes any SET SRC statement.
Before loading the source files, LDR.EXE will attempt to
open a file named program.SRC. This file should be a list of
the source files to load - if the file exists, only those
source files listed within it will be loaded.
The .PTH & .SRC files must be in the same directory as
the program-name.EXE file. The syntax of a .PTH file is like
a path statement except that it has no "PATH = ", but just
the paths. The following is an example:
c:\ldr\new;d:\bcdos\engine;c:\sibcdos\ui;
The format of a .SRC file is a list of source file names,
including extensions, each one on a separate line - for
example:
asm.asm
sym.asm
volume.cpp
mgraph.c
Note that this file does not contain any drive or
directory information.
Using Borland TDS Files for Debug Data
If a Borland .EXE file does not contain debug data,
LDR.EXE will try to open a file named program-name.TDS in
the same directory as the .EXE file. If such a file exists,
it will read the debug data from this file.
A TDS file can be generated by running TDSTRIP with the
/s switch on a .EXE file which contains Borland debug data.
Passing Commands to Soft-ICE from LDR.EXE
LDR.EXE can pass commands to Soft-ICE in either of two
ways: directly from the command line, or from a file
specified on the command line. In both cases, the command
string is executed when Soft-ICE pops up at the start of the
application program. If you want the program to execute
without stopping at the Soft-ICE screen, put an "X" as the
last command in the string.
To pass commands directly from the command line, the
entire command string must be enclosed within slashes. The
command string may include symbolic names and commands to
set breakpoints. For example, the following string would set
a breakpoint on a variable named "base", set up the data
window to display this variable in word format, and then
exit from Soft-ICE and begin executing the application
program without popping up:
ldr /bpm base;dw base;x/ myprog
Note that there is a slash both before and after the
command string - this allows using spaces within commands.
Also note that commands are separated by semicolons. The
last command in the string does not need a trailing semi-
colon.
To specify a file containing Soft-ICE commands, use a
"/n" or "/N" switch in the LDR command line (There are no
Soft-ICE commands which begin with "n" or "N", so this
cannot be a direct command). There must NOT be a slash after
the file name - the first space after the filename is the
terminator.
The command file either must be in the current directory
or else the full path must be specified. The command string
within the file may use either CR's or CRLF's or semicolons
as separators between commands. The size of the Soft-ICE
command buffer limits the file length to 200 characters.
The syntax would be something like the following:
ldr /nc:\prog\softice.cmd myprog
==========================================================================
BUG FIXES
---------
Show the application text screen when Video Memory is
being displayed rather than the Soft-ICE screen text as
was shown in earlier versions.
Show the correct program length in the MAP command when
drivers or TSR's are loaded high; also show the HMA area,
and highlight only one block as the current program. The
previous versions got confused when anything was loaded
high.
Added unassembly of the JECXZ instruction. Also fixed
display of special 32-bit instructions such as CWDE and
STOSD to show the correct mnemonic.
Fixed display of location being addressed to show a
dword when the operand size is 32-bits, and on LES, LDS,
LSS, LFS and LGS instructions.
Fixed display of location being addressed to show a
dword when instruction is a far jump or far call (opcode
FF).
Fixed problem with setting breakpoints in overlays that
were not yet loaded. BPX type breakpoints can now be set
at symbolic names within overlays. NOTE: The Addendum to
versions 2.5 and 2.6 states that module names can be used
for setting breakpoints; this is not correct. Symbolic
names within the overlays must be used.
Fixed problem in displaying source within overlays when
more than one overlay is loaded.
Fixed the Assemble command to recognize 32-bit opcodes.
Fixed a keyboard problem caused by sending 60H out to
port 64H. This would hang any system that did not have a
PS2 mouse.
Fixed ALTSCR bug in Soft-ICE, where the ALT screen would
go blank.
Fixed an error in the 910H back door command, which puts
a null-terminated message in the Soft-ICE command window
where it is displayed when Soft-ICE pops up. The error
caused only part of the message to be displayed.
Changed LDR to put MSC7 public symbols into the module
which actually contains them. This allows breakpoints to
be set on symbol names within MSC7 overlays.
Fixed a problem where PUSHFD or POPFD instructions would
cause a GP fault in Soft-ICE if run with BREAK ON.
Changed processing of symbol names to allow them to
begin with "@", and to recognize unmangled names as well
as their complex mangled equivalents.
Fixed a problem where the IP register was treated as a
byte register when reading its contents, so a command such
as "U CS:IP" or "D CS:IP" would read only the lower
byte of IP, set the upper byte to 0 and display the code
or data at that address.
Fixed a problem in the small window mode where some
screens were not updated if the user exited to DOS and
popped up Soft-ICE again. Parts of the Soft-ICE screen
would still show the characters and attributes which had
been in those places on the DOS screen.
Fixed a bug which occurred only when the /EMM switch was
used; if a TSR was loaded using LDR, and EXIT was keyed
when it popped up, and if the TSR then was loaded without
using LDR, Soft-ICE would pop up with a GP fault.
Fixed a bug where the Soft-ICE screen would be blank if
the application or DOS set the video page to something
other than page 0.
Fixed a bug in the A (assemble) command where the
generated code had the wrong registers.
Fixed a bug in the BPIO handler when the operand of the
I/O instruction was EAX.
Fixed a bug in the MAP command when Soft-ICE was popped
up while loading a driver (either the initial load or
after a BOOT command). The DOS structures are incomplete
at this point, and Soft-ICE did not handle this problem
correctly.
Several problems associated with very large debug data,
where segment limits were being exceeded, causing a GP
fault.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -