This page is written for C++ programmers to give an introduction to the concept of DMACS. Once you have finished reading this page over, you can go to the DMACS project site, which is pretty much everything DMACS minus the introduction.

DMACS (an acronym for "Debugger MACros") is a debugging solution that can be used for any C++ program on any platform. The code that drives DMACS is compiled right alongside the program, as if it were part of the application. The Debugger collects information about the program by the #define macros that are wrapped around debugger-aware variables and functions. Sprinkling these macros around your code may not be fun, but it is simple, and it gives you great control over what parts of your code are debuggable (possibly problematic; recently written and therefore flawed) and what parts of your code are not touched by DMACS (no errors; reused code that is known to be perfect, that sort of thing).

DMACS can also be called "The Console Debugger." The reason for this is that all input and output happens in some sort of text-based interface. The text-based interface receives input only during application breaks, and can deliver output while the application is executing. This console can be any sort of console: a Win32 Console Window, a text display on a remote system, a miniature window that is overlayed above the graphics of a full-screen application, or a GUI facade to an innately text-based system. Of course, the reason that the Console can be so many things is because all of the platform- and interface-dependent code is isolated in one module: the Console Interface Module.

See how versatile DMACS will be eventually.

Please fill out the DMACS survey.

Under Construction
SourceForge Logo