[ltt-dev] UST simple example not working
George Stephen-RVGG20
RVGG20 at freescale.com
Mon Jun 21 12:01:40 EDT 2010
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);
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20100621/8253d100/attachment-0003.htm>
More information about the lttng-dev
mailing list