News Archive (1999-2012) | 2013-current at LinuxGizmos | Current Tech News Portal |    About   

Universal Dynamic Trace for Linux

Nov 27, 2000 — by LinuxDevices Staff — from the LinuxDevices Archive — views

An announcement from the Linux Trace Toolkit project . . .

It is now possible to dynamically insert trace points using IBM's DProbes and then view the traces with LTT. You can now use IBM's DProbes with Opersys' Linux Trace Toolkit to provide a universal (dynamic) tracing capability for Linux. It is universal because it provides a common tracing mechanism for all executable whether in user or kernel space. It is dynamic because tracepoints are defined and applied dynamically to object modules as probepoints using DProbes — no source code modification is required.

To use dyamic trace you will require version 1.2 of DProbes, or later and LTT version 0.9.4pre4. The DProbes kernel patch will need to be compiled with correct configuration options to enable it to work with LTT. See the respective installation instructions in each package for more details.

About the IBM Dynamic Probes (DProbes)

Dynamic Probes is a generic and pervasive debugging facility that will operate under the most extreme software conditions such as debugging a deep rooted operating system problem in a live environment, for example in the page-manager of the kernel or perhaps a problem that will not re-create easily in either a lab or production environment. For such inaccessible problem scenarios Dynamic Probes not only offers a technique for gathering diagnostic information but has a high probability of successful outcome without the need to build custom modules for debugging purposes.

The DProbes facility can be used to insert software probes dynamically into executing code modules. When a probe is fired, a user written probe-handler is executed. The probe-handler is a program written in an assembly-like language, based on the Reverse Polish Notation. Instructions are provided to enable the probe-handler to access all the hardware registers, system data structures and memory.

Some of the unique aspects of the Dynamic Probes facility are:

  • Probes can be placed almost anywhere.
  • Probes can be placed in any executable code, including the kernel, even in interrupt handlers, kernel modules etc.
  • Read access to all the hardware registers and write access to most of them.
  • Read/write access to any area in the virtual address space that is currently resident in physical memory.
  • Probes placed on an executable program or shared library are active globally under the context of all processes executing it.
  • Probes can be placed on programs that are being run under a debugger.
As of now, DProbes is available only on the IA32 platform.

Further information about DProbes is available here.

Further information about the Linux Trace Toolkit project is available here.

 
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.



Comments are closed.