Kernel Tracer
Während der Programmentwicklung benötigt man leistungsfähige Werkzeuge, z.B. zur Fehlersuche. Hierzu fand bisher meist ein Debugger Verwendung. Bei der Multithread-Programmierung ist jedoch ein Debugger oftmals nur eingeschränkt benutzbar, da er den Ablauf beeinflusst.
Bei nebenläufigen Prozessen, mehreren Threads und vor allem bei Computern mit mehreren gleichzeitig arbeitenden CPUs (Multiprozessor-Systeme, Hyperthreading und Dual-Core/Multi-Core) hängt das Ergebnis des Programmablaufs oftmals davon ab, ob die einzelnen Programmteile zeitlich parallel ausgeführt werden. Mit einem Debugger können jedoch folgende Probleme auftreten:
- Der gesamte Programmablauf wird bei Verwendung eines Debuggers gestört.
- in Programm funktioniert nur bei Einsatz des Debuggers wie es soll.
Die Lösung ist ein Tracer-Werkzeug, mit dem der tatsächliche Ablauf der parallelen Programmteile protokolliert und anschließend ausgewertet werden kann.
Der Kithara »Kernel Tracer« ist ein Multi-Source Echtzeit-Message-Logger. Er wird zur Fehlersuche, Qualitätskontrolle und allgemein für Situationen eingesetzt die andernfalls nicht verfolgt werden können.
Der »Kernel Tracer« erlaubt ausführliche Einsichten in die tatsächlichen Abläufe PCs, z.B. auf der Kernel-Ebene. Neben der Darstellung sämtlicher Aufrufe von Kithara-Funktionen mit all ihren aktuellen Argumenten können Benutzer auch selbst Messages erzeugen, die dann im »Kernel Tracer« mit Zusatzinformationen dargestellt werden.
Die Eigenschaften des »Kernel Tracers« im Einzelnen:
- Multi-Source: Unterstützung beliebig vieler Threads und Programme aus Anwendungs- und Kernel-Ebene
- Multi-Core: Zeitlich korrekte Zuordnung der Messages bei mehreren CPUs (SMP, HyperThread, Dual-Core etc.)
- Anwenderspezifische Messages können von den Tools der »RealTime Suite« generiert werden (printf-ähnlich mit C/C++)
- Messages werden mit vielen Details dargestellt: inklusive der Systemzeit
Weitere Informationen