Kernel Tracer

Efficient tools are required during software development e.g. for bug-fixing. For this purpose it is common to use a debugger. However, the usage is limited for multi-thread programming since a debugger influences the execution of the program.

If using more than one thread and a PC with multiple CPUs simultaneously (multi-processor systems, Hyperthreading and dual-core/multi-core, e.g. Intel or AMD multi-core CPUs), the result of the program run is dependent on the execution of particular program parts at the same time. An ordinary debugger cannot provide that as it creates the either of the following issues:

  • The whole program execution is interfered by using a debugger.
  • A program only works as intended while using a debugger.

The solution is a tracer tool. The real execution of parallel program parts will be logged and analyzed afterwards.

The Kithara »Kernel Tracer« is a multi-source real-time message logger. It is used for troubleshooting, quality control and generally to detect situations which are usually untraceable.

The »Kernel Tracer« allows for an in-depth view into the real sequences of the internals of a PC, e.g. on the kernel level. Alongside all Kithara functions and all of their function arguments, user can create their own messages which are shown with helpful information in the »Kernel Tracer«.

The characteristics of the »Kernel Tracers« in particular:

  • Multi source: support of multiple threads and programs on application and kernel level
  • Multi core: time-correct association of messages for multiple CPUs (SMP, HyperThread, Dual-Core etc.)
  • User specific messages can be generated from tools of the »RealTime Suite« (printf-like with C/C++)
  • Messages are shown in detail, including system time in 0.1 microsesond resolution
  • Messages can be filtered, merged, saved and reloaded
  • Filtering options: deleting or temporary hiding, message presentation in bold, italics and user colors