Postmortem debugging helps you isolate program problems by taking a snapshot of the machine at the time a crash occurs. As Matt points out, if you have the tools to support the technique, postmodern debugging is particularly useful in protected-mode Windows.
When writing Periscope/32 for Windows 3, Brett needed to debug the debugger so he developed WINX.386. This Windows exception handler is implemented as an Enhanced Mode Windows virtual device driver that oversees what's happening with other VxDs, normal Windows applications and drivers, and the DOS box--including TSRs and DOS device drivers.
The 80386/486 protected-mode debugger Rick presents here makes use of the 386's debug registers as well as protected and virtual-8086 modes. It also enables breakpoints to be generated on code execution (including ROM code), interrupts, data accesses, and I/O accesses and it can coexist with a real-mode debugger such as Debug or Codeview.
For many applications, the PC's built-in timer just isn't fast enough. Thomas untangles the PC timer, then offers up three externally referenced timer functions--along with a program that verifies them--that provide high-resolution timing.
Douglas reexamines and updates Daniel Ozick's Lisp-style C library presented in our August 1991 issue. This improved version sports a redesigned garbage collector that makes the system more efficient, nearly automatic, and easy to use.
Dan examines the Universal Debugger Interface, a processor-independent specification that promises greater debug-tool configurability. He also discusses how to go about integrating the UDI with existing tools, using as an example the Free Software Foundation's GDB C-Language source-level debugger.
Modular and incremental development and debugging lead to reliable real-time systems that perform the functions they're designed to. Our authors use this approach when building a simulated data-acquisition system.
This UNIX-based VAX/VMS-like crash traceback utility reports a list of subroutines being executed when the crash occurred, along with line numbers, parameter values, and local symbol values.
ToolHelp is a DLL that lets you peek and poke into the internals of Windows 3.1. Mike discusses ToolHelp functions, then presents a programming utility that lets you remove DLLs and programs stuck in memory without having to restart Windows to recompile.
The Video Compatibility Interface of Borland's Turbo Debugger for Windows allows an external DLL to handle all the video-mode switching for a particular video card or chipset. Danny describes the services a custom video DLL must provide.
Are those visitors knocking at Michael's door using--or abusing--the "paradigm" moniker? Our editor-at-large examines some interesting programming tools and applications, before moving on to books and conferences.
This month, Al discusses the four parts of the D-Flat help system: a text help database; a compression/decompression algorithm: the hooks in the dialog boxes, menus, and program code that make a particular text display the current one; and the HELPBOX window class that displays the help text and allows the user to navigate it.
Before putting Turbo Vision aside for awhile, Jeff uses Borland's standard file open dialogs, a undocumented "gift" that comes with the Turbo Pascal 6.0, to develop the final, streamable version of HCALC, his mortgage calculator program.
Texture mapping is the process of mapping a bitmap image onto the surface of a polygon that's been transformed in the process of 3-D drawing. Michael describes a quick-and-dirty texture mapping technique that starts with a quick determination of what pixel value to draw for each pixel in the transformed destination polygon.
Are the computer and telecommunications industries butting heads instead of holding hands when building tomorrow's global communication networks?
Copyright © 1992, Dr. Dobb's Journal