
Windows 95 Support for DBWIN32
------------------------------

This information is organized into 3 sections:

   1) Introduction
   2) Installation Instructions
   3) Compatibility Issues


1) Introduction

Even though Windows NT and Windows 95 are both 32 bit operating systems, there 
are numerous incompatibilities and subtle differences in their behavior.  One 
of these differences is the supplied hooks for receiving debugging trace 
messages.  The Windows NT implementation of the OutputDebugString API function 
uses interprocess communication (IPC) to allow a program outside a debugger to 
get access to the user supplied information.  Unfortunately, the team that 
wrote Windows 95 decided not to follow suit, thus there is no built in way, 
outside of debugging the process, to get debugging trace messages.  To remedy 
this shortcoming, I have hand rolled a version of OutputDebugString for 
Windows 95 that does provide these hooks.  The source code is provided in this 
distribution as the files W95TRACE.CPP and W95TRACE.H.  If installed, these 
files will provide features that mimic that of Windows NT's ability to send 
debugging information to an outside program, namely DBWin32.  

2) Installation Instructions

Installation of DBWIN32 Windows 95 support is a fairly easy 2 step process.  
First, you must include W95TRACE.CPP in your project.  Second you must include 
the W95TRACE.H file in each CPP source file in the project ( a simple way is to
add it to STDAFX.H or some other common include file).  Recompile the project and 
all TRACE and OutputDebugString calls should now be seen in the DBWin32 window if 
it is running, as well as in the debugger window.

Note that when you compile a release version of your program, the code will not be
included.

3) Compatibility Issues

DBWin32 currently supports the OutputDebugString call, as well as all the TRACE
macros that MFC provides. 

If you would like to request support for an additional environment or have any 
other problems/questions with the DBWin32 package please send me email at the 
address below.  


Andrew Tucker
ast@halcyon.com  

