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

From: He Kuang
Date: Mon May 11 2015 - 06:17:36 EST




On 2015/5/11 17:50, Ingo Molnar wrote:
* He Kuang <hekuang@xxxxxxxxxx> wrote:

Hi, Ingo

On 2015/5/11 17:30, Ingo Molnar wrote:
* He Kuang <hekuang@xxxxxxxxxx> 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?

This is for setting a kprobe at the location has an offset of 118
bytes to the entry of the function 'generic_perform_write'.

In the previous patch: https://lkml.org/lkml/2015/5/11/170,
we show a valid byte offset range of variables in scope, 118 is
an invalid address which can be read from the result, this offset
is just for showing the error message.


Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/