On 21 Dic, 20:10, [EMAIL PROTECTED] wrote: > On Dec 21, 12:44 pm, "Giampaolo Rodola'" <[EMAIL PROTECTED]> wrote: > > > > > > > Hi, > > I'm in a big trouble since I don't know how to find some memory leaks > > I just discovered in a program of mine. > > By putting: > > > import gc > > gc.set_debug(gc.DEBUG_LEAK) > > > ..at the end of a script which imports a module I wrote it seems I > > have some memory leaks scattered around. > > The message printed on screen is the following: > > > gc: collectable <function 00C70E70> > > gc: collectable <type 00B41018> > > gc: collectable <dict 00C6DE40> > > gc: collectable <tuple 00C09900> > > gc: collectable <tuple 00BCD510> > > gc: collectable <function 00C70EB0> > > gc: collectable <function 00C70E30> > > > Since the main module is very big (more than 2800 lines of code) I do > > not understand which objects are not garbage collected. > > Is there a way to have a more detailed message to know which objects > > are not garbage collected? > > For example "function foo", "method MyClass.bar", "dict my_dict"... > > "function 00C70E70" and "tuple 00C09900" are too much generic messages > > which don't give me an idea about where the leak could be. > > I've never done this before, but here's what I found while Googling: > > Recipe that supposedly gives more > info:http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65333 > > Another thread on the same topic that looks quite > detailed:http://www.thescripts.com/forum/thread22097.html > > An article or two on memory leaks in > Python:http://utcc.utoronto.ca/~cks/space/blog/python/DebuggingPythonMemoryL...http://www.nightmare.com/medusa/memory-leaks.html > > I hope they help. > > Mike- Nascondi testo tra virgolette - > > - Mostra testo tra virgolette -
Thanks for your search but I haven't actually found a solution yet. I've tried to search into the cookbook. I found other recipes playing with the gc module but it seems that none of them are useful for finding out the names of the objects causing the memory leak. I've tried to play with gc.get_objects() in the hope to find the real names manually but it returns a very large number of objects. If only I could find a way to make gc.get_objects() returning leaking objects only it would be a step forward... Does someone have an idea about how doing such a thing? -- http://mail.python.org/mailman/listinfo/python-list