tracing function with Graphviz


 
Thread Tools Search this Thread
Top Forums Programming tracing function with Graphviz
# 1  
Old 01-19-2009
tracing function with Graphviz

I was searching for a tool to trace the function flow to help me understand the code. I came across the article "visualize function calls with graphviz" by Tim Jones.
Visualize function calls with Graphviz

I was able to obtain the flow diagram for simple programs and also for the example program mentioned in the article.

But failed when tried to use for large project. I included instrument.c file in the Makefile under the list of source files to be compiled. instrument.o file was generated but trace.txt was not generated. Also included -g and -finstrument-functions..

CFLAGS = -g -finstrument-functions


Can anyone guide me, if you have used that tool...

Thanks,
Chandra
Login or Register to Ask a Question

Previous Thread | Next Thread

6 More Discussions You Might Find Interesting

1. SuSE

GraphViz Help

I have a SLES 11(SP1) server that I am trying to install graphviz 2.28 on. Unfortunately that is not a comman combination, so I can't just use an RPM to install it, I have to build it from source. When doing so, when I configure it, I can't get it to recognize that pangocairo is actually... (4 Replies)
Discussion started by: cbo0485
4 Replies

2. Shell Programming and Scripting

Tracing a function call

Hi I am hoping someone can explain this to me as I am struggling to understand it. I had a problem today with needing to trace a ksh script that was dotting in a function that was writing to stdout. The problem was it was being run in a sub shell and the output was being parsed by the... (1 Reply)
Discussion started by: steadyonabix
1 Replies

3. Programming

Tracing Function Calls in a program

Apart from writing debug and statements in constructors is there any way by which we can trace the function call stack at any depth? The issue that we always face is that when program crashes (Web Server running on Linux) we have no idea where it crashes and we have to do the hard way of... (1 Reply)
Discussion started by: uunniixx
1 Replies

4. Shell Programming and Scripting

tracing in linux

hello every one can any one help me out i just want to trace what ever i am doing in linux 8.0 in the text mode to be saved in a text file so that at the end i can see my work what i have do. its just like oracle spool so you can see your work at the end . for example what ever command u gave... (2 Replies)
Discussion started by: shary
2 Replies

5. Linux

tracing

hello every one can any one help me out i just want to trace what ever i am doing in linux 8.0 in the text mode to be saved in a text file so that at the end i can see my work what i have do. its just like oracle spool so you can see your work at the end . for example what ever command u gave... (1 Reply)
Discussion started by: shary
1 Replies

6. SuSE

Installing graphviz

hi all, iam trying to install graphviz software on my linux box(suse linux). i downloaded rpm graphviz-2.9.20060521.0440-1.fc1.i386.rpm i'm using rpm --install graphviz-2.9.20060521.0440-1.fc1.i386.rpm but getting the errors warning: user ellson does not exist - using root warning: group... (1 Reply)
Discussion started by: wxwidgets
1 Replies
Login or Register to Ask a Question
et_selector(3erl)					     Erlang Module Definition						 et_selector(3erl)

NAME
et_selector - Define event transforms and trace patterns DESCRIPTION
EXPORTS
make_pattern(RawPattern) -> TracePattern Types RawPattern = detail_level() TracePattern = erlang_trace_pattern_match_spec() detail_level() = min | max | integer(X) when X >= 0, X =< 100 Makes a trace pattern suitable to feed change_pattern/1 Min detail level deactivates tracing of calls to et:trace_me/4,5 Max detail level activates tracing of all calls to et:trace_me/4,5 integer(X) detail level activates tracing of all calls to et:trace_me/4,5 whose detail level argument is lesser than X. See also erlang:trace_pattern/2 for more info about its match_spec() change_pattern(Pattern) -> ok Types Pattern = detail_level() | empty_match_spec() | erlang_trace_pattern_match_spec() detail_level() = min | max | integer(X) when X >= 0, X =< 100 empty_match_spec() = [] Activates/deactivates tracing by changing the current trace pattern. min detail level deactivates tracing of calls to et:trace_me/4,5 max detail level activates tracing of all calls to et:trace_me/4,5 integer(X) detail level activates tracing of all calls to et:trace_me/4,5 whose detail level argument is lesser than X . An empty match spec deactivates tracing of calls to et:trace_me/4,5 Other match specs activates tracing of calls to et:trace_me/4,5 accordingly with erlang:trace_pattern/2 . parse_event(Mod, ValidTraceData) -> false | true | {true, Event} Types Mod = module_name() | undefined <v>module_name() = atom() <v>ValidTraceData = erlang_trace_data() | record(event) erlang_trace_data() = {trace, Pid, Label, Info} | {trace, Pid, Label, Info, Extra} | {trace_ts, Pid, Label, Info, ReportedTS} | {trace_ts, Pid, Label, Info, Extra, ReportedTS} | {seq_trace, Label, Info} | {seq_trace, Label, Info, ReportedTS} | {drop, NumberOfDroppedItems} Transforms trace data and makes an event record out of it. See erlang:trace/3 for more info about the semantics of the trace data. An event record consists of the following fields: detail_level : Noise has a high level as opposed to essentials. trace_ts : Time when the trace was generated. Same as event_ts if omitted in trace data. event_ts : Time when the event record was created. from : From actor, such as sender of a message. to : To actor, such as receiver of message. label : Label intended to provide a brief event summary. contents : All nitty gritty details of the event. See et:trace_me/4 and et:trace_me/5 for details. Returns: {true, Event} : where Event is an #event{} record representing the trace data true : means that the trace data already is an event record and that it is valid as it is. No transformation is needed. false : means that the trace data is uninteresting and should be dropped Ericsson AB et 1.4.2 et_selector(3erl)