|
|
This tutorial presents fs, a symbolic freestore manager for C++. fs allows the programmer to view the contents of the freestore symbolically during debugging. fs maintains, for each object in the freestore, the type, birthplace, size, and address of the object. fs also allows the user to set ``watchpoints'' on objects: when a ``watched'' object is about to be deleted, program execution first breaks and the programmer is notified. The entire freestore can also be watched for arbitrary deletion and creation events. With fs, finding and fixing memory leaks is an almost effortless task.
fs can be used on programs that define their own new and delete operators. It needs no special debugger, and can even be used when debugging with printf's.