[ale] C++ Debuggery and the Path of Destruction

John Mills johnmills at speakeasy.net
Sat Sep 25 14:25:29 EDT 2004


Geoffrey -

On Sat, 25 Sep 2004, Geoffrey wrote:

> >>>On Fri, 24 Sep 2004, Barry Rountree wrote:
  ...
> >>>>__FILE__::__LINE__ is now creating a __WHATEVER__, address 0xabcddcab
> >>>>__FILE__::__LINE__ is now deleting a __WHATEVER__, address 0xabcddcab
  ...
> >>Excellent points both.  What we used to do when we were oft times 
> >>allocating memory in many section of code is add some #ifdefs to track 
> >>allocation and freeing.  Start the output with the memory address so 
> >>that one can simply pipe the output to sort and should see matching 
> >>allocations/frees:
> >>
> >>804845c : allocated, foo.c(345)
> >>804845c : freed, foo.c(345)
> > 
> > 
> > I might name the specific function, as line numbers change freely.
 
> Not sure I understand that logic.  As the line numbers change, so does 
> the output, therefore you'd always have accurate data.

Aha - I supposed I would be entering explicit text to replace 
__FILE__::__LINE__ - Are these predefined symbols that [say] cpp fills in 
during compilation? That's very nice to know. 

 - John Mills
   john.m.mills at alum.mit.edu



More information about the Ale mailing list