|
From: Chris J. <jo...@he...> - 2006-03-01 09:02:37
|
Hi, > Callgrind uses demangled names for C++, which contains the full signature, > i.e. in your case for example > A::foo(int) > Does it work with "--dump-before=A::foo*" ? > If not, this is probably a bug... The problem was I use -O2, and in this case "--dump-before=A::foo*" does not work. I managed to get it working in my case with "--dump-before=*A*foo*". I am sure turning on optimisation will confuse some things for the optimiser (i.e. if A::foo is inlined), so I am perhaps not too surprised at this. Incidently, does callgrind "officially" profiling with optimisation, or am I just lucky in this case. The information I am getting from kcachegrind seems fine... > The problem with the previous use was this: If you have C functions > "foo" and "foobar", there was no way to specify "foo" only; you always > selected both "foo" and "foobar". > You always should get the old behavior by appending > a "*" at the end: "foo*" matches both above. > Note that this is no problem with C++, as you always can say "foo(*" to > match any C++ function "foo" with arbitrary signature. thanks for the explanation. Chris |