Call diagram generation

BCS none at anon.com
Tue Jan 5 12:25:20 PST 2010


Hello Strt,

> Lutger Wrote:
> 
>> On 01/03/2010 04:31 AM, Strt wrote:
>> 
>>> How can I generate some sort of call diagram from my D code?
>>> 
>> you can compile with (dmd) -profile and run the executable. This
>> produces a file called trace.log which contains timings for each
>> function and a call graph. It doesn't produce a diagram and has
>> mangled symbols though.
>> 
>> You can demangle with std.demangle, read the trace.log with descent
>> or use this utility:
>> http://www.dsource.org/projects/scrapple/wiki/PtraceUtility
>> 
>> I haven't updated ptrace in quite a while, so I'm not sure if it
>> still works.
>> 
> I just noticed it is called a call graph, being directed and all.
> 
> I really just needed the visual thing and seeing that I need to get
> tango to work to use ptrace (and then maybe it won't work) I really
> should just take pencil and paper, I think. Also, it is only a
> sub-section (30 functions or so)  I'm interested in.
> 
> Thanks anyway!
> 

With a little persitance, I'd bet that you could make a awk/grep/sed system 
that would convert that output to a graphviz file. With a little fun using 
pragma(msg,...) and .mangleof you could even get demangled symbols.




More information about the Digitalmars-d-learn mailing list