Tux-UKUUG logo
Linux 2001 — Linux Developers' Conference
29 June - 1 July 2001,
Renold Building
, UMIST, Manchester

Richard J Moore - IBM Linux Technology Centre

Dynamic Probes - A trace mechanism for both user and kernel space

This paper discusses the internal details and rationale behind IBM's Dynamic Probes (DProbes).

DProbes is a generic and pervasive system debugging facility that will operate under the most extreme software conditions with minimal system disruption. It permits debugging of some of the most difficult types of software problem especially those encountered in a production environment that will not readily re-create. It is also an invaluable aid for the developer who has to debug parts of the operating system inaccessible to other technologies.

DProbes is also a front-end enabler for other debugging technologies, such as crash and core dumps and kernel/user debuggers. It is able to act as a driver to the Linux Trace Toolkit project from Opersys thus providing Linux with a Universal Dynamic Trace capability. The dynamic characteristic applies to its ability both to insert tracepoints into code at run-time and to customise the data logged, without the need for source code modifications in the traced code.

The core of DProbes comprises a fully automated breakpoint or "probepoint" mechanism (also referred to as a tracepoint in the context of dynamic tracing). Probepoints may be inserted anywhere within system and user space code. They are global by definition, that is they are defined relative to a module not to a storage address or process. Each probepoint has an associated Reverse Polish Notation program (RPN) that is interpreted when the probe fires. The RPN instructions allow memory and CPU registers to be examined and altered using conditional logic. Data can be saved in global or local storage and used to build a trace record, which under the control of the RPN program may be passed to the system tracing mechanism. The latest enhancements to DProbes exploit hardware watchpoint mechanisms allowing probes to be placed not only in code but also in data and thereby allowing DProbes to act as a storage reference monitor.

Call for Papers Speakers Programme Banquet
Location Booking Form Accommodation Credits
Weather Forecast  

IBM - Main Sponsor
Astaro Network Firewall
Astaro Network Firewall


For more information please contact UKUUG Problems? e-mail webmaster
© Copyright 2001 UKUUG Ltd