What s on the Companion CD?

[Previous] [Next]

I'm pretty sure that you'll get more source code with this book than you've gotten with any other book you've ever purchased. In addition to implementing an example graphical user interface (GUI) debugger using the Microsoft Foundation Class (MFC) library, I include eight complete utilities on the companion CD to help you debug faster and more effectively. In all, there are over 2.5 megabytes of just source files. Most of the code has been battle-tested in over fifty real-world applications, including, of all things, a piano that uses Windows 98 as an embedded operating system!

The README.TXT file on the companion CD covers any special building and execution issues associated with the projects. I developed and tested all the projects with Microsoft Visual Studio 6 Service Pack 3. I also built all the projects using the Windows 2000 RC2 Platform SDK headers to ensure that you could use them.

I tested all the code using Windows 98, Windows NT 4 Service Pack 4, and Windows 2000 RC3 (the latest available when I was finishing the book). Because Windows 98 has been out for several years, I decided not to support Windows 95. However, I didn't use any operating system features specific to Windows 98, so if you do need to run my code on Windows 95, you shouldn't have too much difficulty.

READ THIS! The DBGHELP.DLL Symbol Engine

In several of the utilities, I use the Windows 2000 DBGHELP.DLL symbol engine. Although the symbol engine used to be in IMAGEHLP.DLL, it was moved to DBGHELP.DLL to get it out of a core operating system DLL. You must have DBGHELP.LIB and DBGHELP.H to build the source code in this book. You can find both files on the latest Windows 2000 Platform SDK. (The files are not redistributable, so I can't include them on the companion CD or e-mail them to you.) If you don't have the MSDN version of the Platform SDK, you can download it from msdn.microsoft.com/developer/sdk.

For the symbol engine to work on Windows NT 4 and Windows 98, you must copy DBGHELP.DLL and MSDBI.DLL from Windows 2000 and place them in the same directory as the program that uses them. For example, if you want to use the CrashFinder program to look up the source file and line number at which a crash occurred, you need to place all three symbol engine files into the same directory as CRASHFINDER.EXE. (Again, the files are not redistributable, so I can't include them on the companion CD or e-mail them to you.)

For the DBGHELP.DLL symbol engine to find your symbols, either have your PDB files in the same directory as the one in which you built your binaries or place them in the same directory as your binaries. Alternatively, you can tell the symbol engine where the PDB files are with special environment variables. See the MSDN documentation on the SymInitialize API function for more details.

Be prepared to spend some time playing around with the DBGHELP.DLL symbol engine getting it to work. The only way you know the DBGHELP.DLL symbol engine isn't working is if you're not getting function information or source file and line number information out of your files compiled with PDB debugging symbols. If you're having trouble getting the DBGHELP.DLL symbol engine to work, you have an excellent opportunity to try out the debugging skills I discuss in this book! I keep the latest and greatest information about the DBGHELP.DLL symbol engine in the Frequently Asked Questions (FAQ) section of my Web site at www.jprobbins.com. Between the FAQ and a little debugging, you should get your symbols.



Debugging Applications
Debugging Applications for MicrosoftВ® .NET and Microsoft WindowsВ® (Pro-Developer)
ISBN: 0735615365
EAN: 2147483647
Year: 2000
Pages: 122
Authors: John Robbins

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net