digitalmars.D.announce - Diamond, a D Memory Debugger (and profiler)
- Vladimir Panteleev (45/45) Jun 21 2009 I've been working on this project on and off for over a year, and
- torhu (2/3) Jun 21 2009 Nice, I'll have to try this tool out.
- Extrawurst (2/54) Jun 22 2009
- Vladimir Panteleev (14/15) Jun 27 2009 I've been undecided whether I should post it online, for the reason that...
- Nick B (6/24) Jul 03 2009 Vladimir
- Extrawurst (4/32) Jul 03 2009 Thanks from my end too, i am still trying to find the time reading it
- Vladimir Panteleev (6/27) Jul 05 2009 I'm glad you liked it, I guess my effort didn't go to waste after all :)
- Lutger (4/34) Jul 05 2009 Surely not, I'm still reading it too. Don't forget that but a small
- Tim Matthews (4/8) Jul 05 2009 I read it and didn't post feedback but I did think it was actually a
I've been working on this project on and off for over a year, and presented it as part of my graduation thesis on memory management in D. I think I'm done working on it for a while (due to many other projects begging for attention), and even though there's still things that could be finished or improved, it's quite useful as it is now. Diamond is a post-mortem memory debugger and profiler. It is composed of two parts: * a module, which should be imported before any other modules in the project to be debugged * a memory log analyzer, which allows inspecting generated memory logs The module logs all memory operations to a file, as well as periodic memory snapshots (before garbage collects). Some logging options are configurable. Diamond aims to facilitate debugging memory leaks (data referenced by bogus pointers), memory corruption and other problems. It was written for D1 (both Phobos and Tango), D2 support is untested at best. Runtime module features: * logs all memory events, with timestamps and call stacks * exports C functions, allowing debuggee to log memory maps or snapshots at any time, as well as log text comments * has optional memory debugging features, like checking free calls and stomping on deallocated memory Log analyzer features: * uses map files to display symbols in call stacks * can seek through the log file, allowing to examine the application state at different points in time * can display "top allocators" - call stacks that allocated most bytes * can filter memory events by address range * can display a visual "memory map" [1] (useful for quickly finding large areas the GC shouldn't be scanning for pointers) * can search for references (pointers) to a certain memory range * can dump a region of memory to screen Things still to be done: * documentation * more type information (by hooking higher-level allocators) * dumping data segment and thread stacks (currently only the heap is dumped) * more runtime library options Project homepage: http://dsource.org/projects/diamond/ [1] http://dump.thecybershadow.net/36ee988fc564aa9ab5529d43662eec81/0000062E.png -- Best regards, Vladimir mailto:thecybershadow gmail.com
Jun 21 2009
On 21.06.2009 20:34, Vladimir Panteleev wrote:* can search for references (pointers) to a certain memory rangeNice, I'll have to try this tool out.
Jun 21 2009
Vladimir Panteleev wrote:I've been working on this project on and off for over a year, and presented it as part of my graduation thesis on memory management in D.Sounds great, is it possible to read the aforementioned thesis too ?I think I'm done working on it for a while (due to many other projects begging for attention), and even though there's still things that could be finished or improved, it's quite useful as it is now. Diamond is a post-mortem memory debugger and profiler. It is composed of two parts: * a module, which should be imported before any other modules in the project to be debugged * a memory log analyzer, which allows inspecting generated memory logs The module logs all memory operations to a file, as well as periodic memory snapshots (before garbage collects). Some logging options are configurable. Diamond aims to facilitate debugging memory leaks (data referenced by bogus pointers), memory corruption and other problems. It was written for D1 (both Phobos and Tango), D2 support is untested at best. Runtime module features: * logs all memory events, with timestamps and call stacks * exports C functions, allowing debuggee to log memory maps or snapshots at any time, as well as log text comments * has optional memory debugging features, like checking free calls and stomping on deallocated memory Log analyzer features: * uses map files to display symbols in call stacks * can seek through the log file, allowing to examine the application state at different points in time * can display "top allocators" - call stacks that allocated most bytes * can filter memory events by address range * can display a visual "memory map" [1] (useful for quickly finding large areas the GC shouldn't be scanning for pointers) * can search for references (pointers) to a certain memory range * can dump a region of memory to screen Things still to be done: * documentation * more type information (by hooking higher-level allocators) * dumping data segment and thread stacks (currently only the heap is dumped) * more runtime library options Project homepage: http://dsource.org/projects/diamond/ [1] http://dump.thecybershadow.net/36ee988fc564aa9ab5529d43662eec81/0000062E.png
Jun 22 2009
On Mon, 22 Jun 2009 10:55:37 +0300, Extrawurst <spam extrawurst.org> wrote:Sounds great, is it possible to read the aforementioned thesis too ?I've been undecided whether I should post it online, for the reason that it was written for a committee of Moldavian professors who had no clue what a garbage collector is (not to mention having heard of D), and were definitely not going to read my thesis (just listen to the 10-minute presentation)... Even though I did put some effort into it, it may have some inaccuracies. So please don't judge it too harshly :P Thesis: http://thecybershadow.net/d/Memory_Management_in_the_D_Programming_Language.pdf Presentation (PowerPoint 2007, sorry): http://thecybershadow.net/d/Presentation.pptx -- Best regards, Vladimir mailto:thecybershadow gmail.com
Jun 27 2009
Vladimir Panteleev wrote:On Mon, 22 Jun 2009 10:55:37 +0300, Extrawurst <spam extrawurst.org> wrote:Vladimir I would just like to thank you posting your thesis. It was an interesting and enjoyable read. regards Nick B.Sounds great, is it possible to read the aforementioned thesis too ?I've been undecided whether I should post it online, for the reason that it was written for a committee of Moldavian professors who had no clue what a garbage collector is (not to mention having heard of D), and were definitely not going to read my thesis (just listen to the 10-minute presentation)... Even though I did put some effort into it, it may have some inaccuracies. So please don't judge it too harshly :P Thesis: http://thecybershadow.net/d/Memory_Management_in_the_D_Prog amming_Language.pdf Presentation (PowerPoint 2007, sorry): http://thecybershadow.net/d/Presentation.pptx
Jul 03 2009
Nick B wrote:Vladimir Panteleev wrote:Thanks from my end too, i am still trying to find the time reading it though ;) ExtrawurstOn Mon, 22 Jun 2009 10:55:37 +0300, Extrawurst <spam extrawurst.org> wrote:Vladimir I would just like to thank you posting your thesis. It was an interesting and enjoyable read. regards Nick B.Sounds great, is it possible to read the aforementioned thesis too ?I've been undecided whether I should post it online, for the reason that it was written for a committee of Moldavian professors who had no clue what a garbage collector is (not to mention having heard of D), and were definitely not going to read my thesis (just listen to the 10-minute presentation)... Even though I did put some effort into it, it may have some inaccuracies. So please don't judge it too harshly :P Thesis: http://thecybershadow.net/d/Memory_Management_in_the_D_Prog amming_Language.pdf Presentation (PowerPoint 2007, sorry): http://thecybershadow.net/d/Presentation.pptx
Jul 03 2009
On Fri, 03 Jul 2009 12:06:05 +0300, Nick B <nick.barbalich gmail.com> wrote:Vladimir Panteleev wrote:I'm glad you liked it, I guess my effort didn't go to waste after all :) -- Best regards, Vladimir mailto:thecybershadow gmail.comOn Mon, 22 Jun 2009 10:55:37 +0300, Extrawurst <spam extrawurst.org> wrote:Vladimir I would just like to thank you posting your thesis. It was an interesting and enjoyable read. regards Nick B.Sounds great, is it possible to read the aforementioned thesis too ?I've been undecided whether I should post it online, for the reason that it was written for a committee of Moldavian professors who had no clue what a garbage collector is (not to mention having heard of D), and were definitely not going to read my thesis (just listen to the 10-minute presentation)... Even though I did put some effort into it, it may have some inaccuracies. So please don't judge it too harshly :P Thesis: http://thecybershadow.net/d/Memory_Management_in_the_D_Prog amming_Language.pdf Presentation (PowerPoint 2007, sorry): http://thecybershadow.net/d/Presentation.pptx
Jul 05 2009
Vladimir Panteleev wrote:On Fri, 03 Jul 2009 12:06:05 +0300, Nick B <nick.barbalich gmail.com> wrote:http://thecybershadow.net/d/Memory_Management_in_the_D_Programming_Language.pdfVladimir Panteleev wrote:On Mon, 22 Jun 2009 10:55:37 +0300, Extrawurst <spam extrawurst.org> wrote:Sounds great, is it possible to read the aforementioned thesis too ?I've been undecided whether I should post it online, for the reason that it was written for a committee of Moldavian professors who had no clue what a garbage collector is (not to mention having heard of D), and were definitely not going to read my thesis (just listen to the 10-minute presentation)... Even though I did put some effort into it, it may have some inaccuracies. So please don't judge it too harshly :P Thesis:Surely not, I'm still reading it too. Don't forget that but a small percentage of readers will actually post feedback!I'm glad you liked it, I guess my effort didn't go to waste after all :)Presentation (PowerPoint 2007, sorry): http://thecybershadow.net/d/Presentation.pptxVladimir I would just like to thank you posting your thesis. It was an interesting and enjoyable read. regards Nick B.
Jul 05 2009
Lutger wrote:Surely not, I'm still reading it too. Don't forget that but a small percentage of readers will actually post feedback!I read it and didn't post feedback but I did think it was actually a great read. If anyone else has a thesis I would be interested in reading those too.
Jul 05 2009