Messages in this thread | | | Date | Mon, 24 Feb 2020 14:51:41 +0100 | From | Jiri Olsa <> | Subject | Re: [PATCH v3 2/2] Support interactive annotation of code without symbols |
| |
On Mon, Feb 24, 2020 at 06:55:12PM +0530, Ravi Bangoria wrote: > Hi Jin, > > On 2/24/20 7:52 AM, Jin Yao wrote: > > For perf report on stripped binaries it is currently impossible to do > > annotation. The annotation state is all tied to symbols, but there are > > either no symbols, or symbols are not covering all the code. > > > > We should support the annotation functionality even without symbols. > > > > This patch fakes a symbol and the symbol name is the string of address. > > After that, we just follow current annotation working flow. > > > > For example, > > > > 1. perf report > > > > Overhead Command Shared Object Symbol > > 20.67% div libc-2.27.so [.] __random_r > > 17.29% div libc-2.27.so [.] __random > > 10.59% div div [.] 0x0000000000000628 > > 9.25% div div [.] 0x0000000000000612 > > 6.11% div div [.] 0x0000000000000645 > > > > 2. Select the line of "10.59% div div [.] 0x0000000000000628" and ENTER. > > > > Annotate 0x0000000000000628 > > Zoom into div thread > > Zoom into div DSO (use the 'k' hotkey to zoom directly into the kernel) > > Browse map details > > Run scripts for samples of symbol [0x0000000000000628] > > Run scripts for all samples > > Switch to another data file in PWD > > Exit > > > > 3. Select the "Annotate 0x0000000000000628" and ENTER. > > > > Percent│ > > │ > > │ > > │ Disassembly of section .text: > > │ > > │ 0000000000000628 <.text+0x68>: > > │ divsd %xmm4,%xmm0 > > │ divsd %xmm3,%xmm1 > > │ movsd (%rsp),%xmm2 > > │ addsd %xmm1,%xmm0 > > │ addsd %xmm2,%xmm0 > > │ movsd %xmm0,(%rsp) > > > > Now we can see the dump of object starting from 0x628. > > If I press 'a' on address, it's not annotating. But if I annotate > by pressing enter, like you explained, it works. Is it intentional?
I saw that too, but I thought it's unrelated issue, because we played with that just recently
if you go through the 'enter' way and back, then the next time 'a' works ;-)
jirka
| |