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