At one point, I needed the computer to help me track down a memory problem I was having, so I wrote my own version of malloc that kept track of what each block of memory was supposed to be used for, and did a number of checks on each block whenever it was used. This program quickly solved my problems, so we decided to use it for all software we developed. The first time we used it on Spectrum, it took a week to get Spectrum to pass CsMalloc's scrutiny! CsMalloc was so good at helping us debug that it became a mandatory part of system testing for Spectrum.
As an example of how picky CsMalloc is, one developer had spent two days trying to track down a memory violation with no luck. It had been isolated to a specific function, so we turned on CsMalloc's "all" flag at that point, brought up the system, invoked that function, and waited. 45 minutes later, CsMalloc had found the line of code that was the problem, and a few minutes later, the problem was solved.
CsMalloc even found a bug in SunOS's C library.
|webmaster donations bookstore||delorie software privacy|
|Copyright © 1997 by DJ Delorie||Updated May 1997|