Decent way to trace resource leaks?

Thomas Heller theller at python.net
Wed Mar 24 03:12:19 EST 2004


claird at lairds.com (Cameron Laird) writes:

> In article <87r7vk7dnc.fsf at strauser.com>,
> Kirk Strauser  <kirk at strauser.com> wrote:
> 			.
> 			.
> 			.
>>I've written a fairly complex application [1] that runs under Windows XP
>>with ActiveState Python.  I'm reasonably sure that I'm freeing all allocated
>>resources, but my process seems grow slowly but steadily over time.  Worse,
>>my network administrator seems to think that it's locking network resources
>>and not freeing them, and while I don't *think* that's the case, I can't be
>>certain.
>>
>>Ideally, I'd like to find a way to dump the process's object hierarchy to
>>the screen or a file in a tree or graph format.  Even without variable
>>names, it'd be tremendously helpful to see that there are 87 instances of
>>Foo objects, each with 20 Bar objects as data members.  Although I'm running
>>the application on Windows, I'm doing all development on a Linux system
>>(using Subversion to synchronize source trees across machines, in case
>>anyone is interested), so I'd prefer something native to Python and not a
>>Windows-specific GUI debugger.
> 			.
> 			.
> 			.
> This question interests me intensely--which is why I'm taking
> so long to answer it.  I'd love to write a book on resource-
> management techniques.

And I'd love to see some good tools or recipes around the information
that the various gc functions collect and return, and probably around the
(debug-build only) sys.getobjects() function.

Thomas





More information about the Python-list mailing list