[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Running and debugging protected mode programs
------------------------------------------------------------------------------
Overview
When Blinker creates a DOS extended program the format of the map file
changes to reflect the different program structure. The segments are
numbered sequentially starting at segment number 1, and many logical
segments may be merged into a single physical segment.
Running in a multitasking environment is probably the easiest method of
debugging, particularly as the operating systems provide some sort of task
isolation and crash protection so it is not necessary to reboot each time a
protection exception occurs.
When a protection exception or other protected mode error occurs, by default
all the registers are dumped to the screen, along with the .EXE segment
numbers associated with the segment registers. These segment numbers are the
ones displayed in the MAP file created with the MAP S,A option, so can be
used along with the offset registers IP, BX etc to quickly locate the
location and cause of the error. For more details refer to Chapter 7 under
.Debugging DOS extended programs..
The DOS extender has to perform much less work in a DPMI environment than it
does otherwise, so you are strongly advised to thoroughly test your programs
in all the different environments in which it is intended to run. These
should certainly include DPMI, VCPI and XMS. If they are only available in
the same environment as DPMI, then DPMI support can be disabled by setting
the BLINKER environment variable as described below.
The actual mode in which the DOS extender is running can be tested using the
DosGetHostMode() API function.
Link script commands to control runtime
Run time behaviour of a Blinker DOS extended program can be controlled at
link time using various link script file commands. The current commands and
their meanings are as follows (where there are choices the first setting
shown is the default, and is in bold print):
BLINKER EXTMEM BLOCK Set extended memory block size
BLINKER EXTMEM LIMIT nnnn Set maximum extended memory to use
BLINKER HOST DPMI ON | OFF Enable / Disable DPMI host support
BLINKER HOST VCPI ON | OFF Enable / Disable VCPI host support
BLINKER HOST XMS ON | OFF Enable / Disable XMS host support
See Also:
Command Reference
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson