digitalmars.D - full allocation debugging for GC logger
- Alan Knowles (31/31) Sep 03 2008 This may be useful for anyone wanting to debug memory leaks.
- Vladimir Panteleev (9/10) Sep 03 2008 I started writing a memory debugger framework, but didn't get around to ...
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
....
Sep 03 2008
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
Sep 03 2008








"Vladimir Panteleev" <thecybershadow gmail.com>