September 03, 2008 full allocation debugging for GC logger | ||||
|---|---|---|---|---|
| ||||
This may be useful for anyone wanting to debug memory leaks. http://www.akbkhome.com/svn/D_Stuff/gcx.d It's basically a large addition to the logger code, so that it can find out the calling location that tried to allocate memory, stores this in the Log.file item. Then when you do a genCollect/fullCollect - it lists where memory was allocated that can not be free'd yet. Code changes are public domain - so walter is free to add what he thinks is a good idea.... (note I had to use the demangle code from gdb, as I think calling std.demangle would affect the pool...) for Freebsd/gcc - you need to compile with the options: gcc -Wl,-export-dynamic -lexecinfo ....... Regards Alan Example output: +log_collect(Mailer.smtpdthread.SmtpdThread.run():122) size = 8, parent = 80fc000 - Mailer.lib.tls.Tls._ctor():34 size = 64, parent = bfbfe488 - Mailer.lib.tls.Tls._ctor():34 size = 24, parent = 285aff80 - Mailer.config.Config.getListenTo():393 size = 5, parent = bfbfe488 - Mailer.config.Config.getListenTo():432 size = 24, parent = bfbfe488 - Mailer.config.Config.getListenTo():393 size = 104, parent = bfaed8c8 - Mailer.main.MailerRun():167 size = 16, parent = bfaed8c8 - Mailer.listenthread.ListenThread.bindSocket():55 size = 5, parent = bfbfe488 - Mailer.main.MailerRun():208 size = 104, parent = bfbfe488 - Mailer.main.MailerRun():167 .... | ||||
September 03, 2008 Re: full allocation debugging for GC logger | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Alan Knowles | On Wed, 03 Sep 2008 11:29:29 +0300, Alan Knowles <alan@akbkhome.com> wrote: > This may be useful for anyone wanting to debug memory leaks. I started writing a memory debugger framework, but didn't get around to finishing it yet. It's working and useable, but doesn't have any documentation and some more features I'd like to add. You can check out the code here: http://dsource.org/projects/diamond/browser/trunk -- Best regards, Vladimir mailto:thecybershadow@gmail.com | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply