[Front] [Prev Chapter] [Next Chapter]

Chapter 3 Debugging DPMS Clients

Using WDEB386.EXE to Debug DPMS Clients Currently the recommended debugger is the Microsoft* WDEB386.EXE, which is available in the MS Windows SDK and DDK.

WDEB386.EXE requires a 386* processor, because it uses hardware features such as the debug registers. It also requires a serial terminal.

To debug clients of Caldera's DPMS server, do not use the standalone DPMS server (DPMS.EXE), but rather the combined EMM386/DPMS driver (EMM386.EXE) which has been created specifically to enable debugging of clients. This is a fully functional EMM386 that supports expanded and extended memory, and should be used in place of any other version of EMM386 you normally use.

Load the programs in this order

1. WDEB386.EXE

2. EMM386.EXE

3. Your DPMS client

You can place INT 1 break points into your program at build time, or press <Ctrl> C on the serial terminal at run time to break into WDEB386. The advantage of the combined EMM386/DPMS server is that it allows you to examine selectors, extended memory and descriptor tables from a break point in either the real mode or the protected mode section of your program.

Apart from deliberate break points, your program may cause a processor exception, which the DPMS server will trap. Some of these are part of normal operation and the DPMS server handles them. Others, which imply an error, are passed on to WDEB386 in a manner that simulates a break point in your program, so you can see the exact instruction that caused the exception.

You can use all the features of WDEB386 to debug your client except those that are Windows-specific. You cannot debug DPMS clients while Windows is running.

[Front] [Prev Chapter] [Next Chapter]

Copyright © 1994, 1997 Caldera, Inc Corporation. All rights reserved.