title: Finding where memory was last freed?
body: <p><strong>Very general:</strong>
  Is there an easy way to tell which line of code last freed a block of memory when an access violation occurs?</p>
  
  <p><strong>Less general:</strong>
  My understanding of profilers is that they override the allocation and deallocation processes.  If this is true, might they happen to store the line of code that last freed a section of memory so that when it later crashes because of an access violation, you know what freed it last?</p>
  
  <p><strong>Specifics:</strong>
  Windows, ANSI C, using Visual Studio</p>