From 1ada6f08ba42f3c1a2f7986f1ad955fd79e06e41 Mon Sep 17 00:00:00 2001 From: fche Date: Tue, 19 Feb 2008 02:48:02 +0000 Subject: 2008-02-18 Frank Ch. Eigler * NEWS, stapprobes.5.in: Document basic (non-symbolic prototype) user-space probe points. --- ChangeLog | 5 +++++ NEWS | 11 +++++++++++ stapprobes.5.in | 14 ++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/ChangeLog b/ChangeLog index 5da56d49..ab485c46 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-02-18 Frank Ch. Eigler + + * NEWS, stapprobes.5.in: Document basic (non-symbolic prototype) + user-space probe points. + 2008-02-15 Frank Ch. Eigler * tapsets.cxx (function_name_last_match): New function. diff --git a/NEWS b/NEWS index 05d11eca..073945e1 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,16 @@ * What's new in version 0.6 / 0.6.1 +- Prototype support for user-space probing is showing some progress. + No symbolic notations are supported yet (so no probing by function names, + file names, process names, and no access to $context variables), but at + least it's something: + + probe process(PID).statement(ADDRESS).absolute { } + + This will set a uprobe on the given process-id and given virtual address. + The proble handler runs in kernel-space as usual, and can generally use + existing tapset functions. + - Crash utility can retrieve systemtap's relay buffer from a kernel dump image by using staplog which is a crash extension module. To use this feature, type commands as below from crash(8)'s command line: diff --git a/stapprobes.5.in b/stapprobes.5.in index 276358a0..642ed739 100644 --- a/stapprobes.5.in +++ b/stapprobes.5.in @@ -283,6 +283,20 @@ $var[N] indexes into an array. The index is given with a literal number. +.SS USER-SPACE +Early prototype support for user-space probing is available in the +form of a non-symbolic probe point: +.SAMPLE +process(PID).statement(ADDRESS).absolute +.ESAMPLE +is analogous to +.IR +kernel.statement(ADDRESS).absolute +in that both use raw (unverified) virtual addresses and provide +no $variables. The target PID parameter must identify a running +process, and ADDRESS should identify a valid instruction address. +All threads of that process will be probed. + .SS PROCFS These probe points allow procfs "files" in -- cgit