Hi Zifei, Quoting Zifei Tong <[email protected]>:
> I played with dyninst today. Here is a minimal working example: > https://gist.github.com/5kg/5451894 Nice! I have done something similar here and I was able to build and insert code snippets. But then I am more inclined towards analysing performance of dyninst. You may also want to look at DynC API to build complex code snippets in a C like syntax for dyninst. > Dyninst is a really cool project (after struggling to get it work)... Yeah it took sometime to understand their nomenclature and analysing the assembly to see how it really mutates the binary. You might also be interested in 'fast tracepoint' infrastructure and normal tracepoints provided by gdb. I ran some tests with fast tracepoints using gdb on a same 'mutatee' code (as dyninst) and it performed quite better than just dyninst. (a million runs of traced function(with no 'action' performed by gdb on tracepoint hit) showed a 1.46% overhead - better tests are under way) But getting gdb's infra for dynamic tracing with UST may be somewhat a serious hack. Also, as you suggest stapdyn is also a good start to explore. I have not done that yet. I am going to start with getting elementary Dyninst+UST hack working from next week for continuing my tests/analysis and its gonna be good to hear from you about trials at your end. -- Suchakra _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
