[ltt-dev] UST simple example not working
Mathieu Desnoyers
compudj at krystal.dyndns.org
Mon Jun 21 12:12:17 EDT 2010
* George Stephen-RVGG20 (RVGG20 at freescale.com) wrote:
> Hello,
>
>
>
> I tried this simple example for trace_marker and get incorrect values
> for "return" in "ust.factorial" (return: 0).
>
> The trace for "ust.args" works. I even tried this in a C version of the
> sample with same errors.
>
> Using g++ -o sample -g -lust sample.cpp; usttrace ./sample on a PowerPC
> target.
>
>
>
> class Factorial1 : public Factorial
>
> {
>
> public:
>
> Factorial1(){}
>
> virtual ~Factorial1(){}
>
> unsigned long long do_factorial(unsigned long long n)
>
> {
>
> // user space trace instrumentation
>
> trace_mark(ust, args, "in_arg %d", n);
>
> if (n <= 1)
>
> return 1;
>
> else
>
> return n *
> do_factorial(n-1);
>
> }
>
> };
>
>
>
> class Factorial2 : public Factorial
>
> {
>
> public:
>
> Factorial2(){}
>
> virtual ~Factorial2(){}
>
> unsigned long long do_factorial(unsigned long long n)
>
> {
>
> unsigned long long ret = 1;
>
> for ( int i = 1; i <= n; i++){
>
> ret *= i;
>
> }
>
> // user space trace instrumentation
>
> trace_mark(ust, factorial, "in_arg %d
> return %d", n, ret);
Do you really have a '\n' in your format string ? This might be causing
your trouble.
Mathieu
>
> return ret;
>
> }
>
> };
>
>
>
> In another case I tried just: trace_mark(ust, factorial, "return %d",
> ret) and the value for ret was the value for n.
>
>
>
> Thanks for the help,
>
> Stephen G.
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list