Re: [PATCH v3 3/3] perf probe: Show better error message when failed to find variable

Ingo Molnar
2015-05-11T09:50:58Z

* He Kuang <hekuang@huawei.com> wrote:

> Hi, Ingo
>
> On 2015/5/11 17:30, Ingo Molnar wrote:
> >* He Kuang <hekuang@huawei.com> wrote:
> >
> >>Indicate to check variable location range in error message when we got
> >>failed to find the variable.
> >>
> >>Before this patch:
> >>
> >> $ perf probe --add 'generic_perform_write+118 bytes'
> >> Failed to find the location of bytes at this address.
> >> Perhaps, it has been optimized out.
> >> Error: Failed to add events.
> >>
> >>After this patch:
> >> $ perf probe --add 'generic_perform_write+118 bytes'
> >> Failed to find the location of bytes at this address.
> >What does this sentence mean? I thought 'address' means 'location of
> >bytes'. So the address identifies the location and obviously we know
> >that. So this message wants to say something else.
>
> 'generic_perform_write' is a function name, while 'bytes' is a local
> variable in this function. Maybe the variable I chose make you confused.
>
> This maybe clear:
> Failed to find the location of 'bytes' at this address.

Yeah, absolutely! This highlights the importance of putting
user-supplied symbols into quotes and such.

Maybe even write:

Failed to find the location of the 'bytes' variable at this address.

Another question: what does 'generic_perform_write+118' mean here? Why
the offset?

Thanks,

Ingo