* put probes on a specific line
@ 2006-10-10 3:06 Li Guanglei
2006-10-10 16:40 ` Frank Ch. Eigler
0 siblings, 1 reply; 3+ messages in thread
From: Li Guanglei @ 2006-10-10 3:06 UTC (permalink / raw)
To: systemtap
Hi,
I ever thought that kernel.function("*@kernel/signal.c:734") will
put a probe on line 734. But after testing and reading the stapprobes
man page, that actually refers to any functions within the
"kernel/signal.c" file that span line 734, i.e, it equals to
kernel.function("send_signal"). So it seems to me the only way to put
probe on a specific line is to use kernel.statements(0x....). But this
is really troublesome and inconvenient for me. Sometimes I need to
visit some local variables and their valid location range is beyond
the function prologue, so using kernel.function(..@lineno) will
complain not finding that variable.
So I think it is really helpful if
kernel.function("*@kernel/signal.c:734") could act as I expected
before, that is, it will put a probe on line 734 of signal.c. Or else
SystemTap is of little help to probe somewhere inside a function and
visit some of its local variables, and I think these are important for
problem diagnosis.
- Guanglei
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: put probes on a specific line
2006-10-10 3:06 put probes on a specific line Li Guanglei
@ 2006-10-10 16:40 ` Frank Ch. Eigler
2006-10-11 0:23 ` Li Guanglei
0 siblings, 1 reply; 3+ messages in thread
From: Frank Ch. Eigler @ 2006-10-10 16:40 UTC (permalink / raw)
To: Li Guanglei; +Cc: systemtap
Li Guanglei <guanglei@cn.ibm.com> writes:
> I ever thought that kernel.function("*@kernel/signal.c:734") will
> put a probe on line 734. But after testing and reading the stapprobes
> man page, that actually refers to any functions within the
> "kernel/signal.c" file that span line 734, i.e, it equals to
> kernel.function("send_signal"). So it seems to me the only way to put
> probe on a specific line is to use kernel.statements(0x....). [...]
Not so: kernel.statement() accepts the same string-based specification
of a probe point as kernel.function() does:
kernel.statement("*@kernel/signal.c:734")
The "function" and "statement" terms are intentional and significant.
- FChE
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: put probes on a specific line
2006-10-10 16:40 ` Frank Ch. Eigler
@ 2006-10-11 0:23 ` Li Guanglei
0 siblings, 0 replies; 3+ messages in thread
From: Li Guanglei @ 2006-10-11 0:23 UTC (permalink / raw)
To: Frank Ch. Eigler; +Cc: systemtap
Frank Ch. Eigler wrote:
> Li Guanglei <guanglei@cn.ibm.com> writes:
>
>> I ever thought that kernel.function("*@kernel/signal.c:734") will
>> put a probe on line 734. But after testing and reading the stapprobes
>> man page, that actually refers to any functions within the
>> "kernel/signal.c" file that span line 734, i.e, it equals to
>> kernel.function("send_signal"). So it seems to me the only way to put
>> probe on a specific line is to use kernel.statements(0x....). [...]
>
> Not so: kernel.statement() accepts the same string-based specification
> of a probe point as kernel.function() does:
>
> kernel.statement("*@kernel/signal.c:734")
>
> The "function" and "statement" terms are intentional and significant.
>
> - FChE
Thanks. It works :)
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-10-11 0:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-10-10 3:06 put probes on a specific line Li Guanglei
2006-10-10 16:40 ` Frank Ch. Eigler
2006-10-11 0:23 ` Li Guanglei
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).