Re: Wrong Perf Backtraces
ahmadkhorrami <[email protected]>
| Newsgroups | org.kernel.vger.linux-trace-users |
|---|---|
| Message-ID | <[email protected]> |
Hi, Thanks. Still no change. Sorry, I forgot to say that you should initialize the "perfCMD" variable to your perf binary path. Regards. On 2020-03-29 15:49, Jiri Olsa wrote: > On Sun, Mar 29, 2020 at 05:46:57AM +0430, ahmadkhorrami wrote: > >> Hi, >> Each line is correct. I mean addresses match symbols. But some callers >> and >> callees do not match. Perhaps callchain misses some callers in >> between. >> Regards > > right, I missed another case.. how about the change below? > your script is silent now on my data > > jirka > > --- > diff --git a/tools/perf/util/evsel_fprintf.c > b/tools/perf/util/evsel_fprintf.c > index 3b4842840db0..fc4fb88937ed 100644 > --- a/tools/perf/util/evsel_fprintf.c > +++ b/tools/perf/util/evsel_fprintf.c > @@ -173,6 +173,8 @@ int sample__fprintf_callchain(struct perf_sample > *sample, int left_alignment, > > if (print_srcline) > printed += map__fprintf_srcline(map, addr, "\n ", fp); > + else if (node->srcline) > + printed += fprintf(fp, " %s", node->srcline); > > if (sym && sym->inlined) > printed += fprintf(fp, " (inlined)");