Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Ticket #2032 (new enhancement)

Opened 13 years ago

Last modified 13 years ago

Integrate project diamond

Reported by: Marenz Assigned to: community
Priority: major Milestone: 1.0
Component: Tango Version: trunk
Keywords: Cc:

Description

Diamond is a D memory debugger. It works by sneaking itself between the calls to the GC and collects loads of information about it and can very precisley say what has been allocated from where etc...

It doesn't work with tango trunk due to some changes in the GC (I think some "final" additions and so on).

I propose to add it as an own Garbage Collector that uses the basic collector in the background. If you want to debug your program, you have to link it to the diamond gc and then you get loads of info and can use the post-running analyser.

The analyser itself is still based on phobos and probably should be rewritten to use tango, but using just a binary works, too.

This is the project homepage: https://github.com/CyberShadow/Diamond

Change History

02/02/11 17:38:40 changed by Marenz

Possible drawbacks: Diamond is currently "by design" 32bit only. I don't know why or how difficult this would be to change.

Maybe it can also just be changed to use the interface that I proposed at http://dsource.org/projects/tango/ticket/2033

02/02/11 19:41:48 changed by kris

make it a link-time option?

02/02/11 20:15:51 changed by Marenz

Well, that was my idea, yes. Linking with either a diamoned featured GC or with the basic one (or with lucas one)