Messages in this thread | | | Subject | Re: [PATCH v3 2/2] Support interactive annotation of code without symbols | From | "Jin, Yao" <> | Date | Mon, 24 Feb 2020 23:53:28 +0800 |
| |
On 2/24/2020 10:04 PM, Ravi Bangoria wrote: > > > On 2/24/20 7:21 PM, Jiri Olsa wrote: >> 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 ;-) > > Yes. > > I liked the series so I was trying out the patches. Just reporting > issues I found... > > jump/call arrows are also screwed up.. Like jump instruction is showing > call arrows. > But these all are minor issues and can be fixed later on. I don't mind ;) > > Ravi >
Some jumps will show arrow '->". For example,
→ jne 120
Yes, we can check and fix that later.
Thanks Jin Yao
| |