Borland Online And The Cobb Group Present:


April, 1994 - Vol. 1 No. 4

Letters - Determining which DOS debugger to use

I use Borland C++ 3.1 to create DOS applications. I'm confused by the different standalone debuggers that ship with the 3.1 package. How do I know which one I should use for my applications?

Bruce Thomas

Gary, Indiana

Bruce, there are some significant differences among standalone debuggers. Each one has specific strengths and weaknesses, so we'll look at them one at a time.

The basic DOS debugger is TD.EXE. For most small applications, TD.EXE will work well. However, since it takes up almost half of DOS's 640 Kb, you won't be able to load a large application and its symbol table (necessary for the standalone debuggers) when using TD.EXE.

The protected-mode DOS debugger is TD286.EXE. Since TD286.EXE is a DMPI-compliant application, it loads into extended memory above 1 Mb. A small loader (approximately 80 Kb) remains in conventional memory, so you won't be able to use the entire 640 Kb. However, since TD286.EXE loads the symbol table into extended memory as well, you should be able to use this debugger if your application can run with less than 550 Kb of conventional RAM. For most debugging situations, TD286.EXE is the ideal choice.

If you're developing on an 80386 or 80486 machine, you may want to use TD386.EXE. It loads completely into extended memory, but it requires you to load the TDH386.SYS device driver in your CONFIG.SYS file by adding the line

DEVICE = TDH386.SYS

You can debug very large applications by using TD386.EXE and set hardware breakpoints.

Borland supplies you with each of these debuggers to use with specific types and sizes of applications. By using the correct debugger, you'll avoid memory problems that have nothing to do with bugs in your applications.

Return to the Borland C++ Developer's Journal index

Subscribe to the Borland C++ Developer's Journal


Copyright (c) 1996 The Cobb Group, a division of Ziff-Davis Publishing Company. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff-Davis Publishing Company is prohibited. The Cobb Group and The Cobb Group logo are trademarks of Ziff-Davis Publishing Company.