
Kernel-Trace des Samples „TaskSimple“
Mit Kithara Kernel Tracer können Sie die internen Abläufe in Echtzeitanwendungen detailliert untersuchen. Während der Programmentwicklung werden leistungsfähige Werkzeuge, etwa zur Fehlersuche benötigt. Hierzu findet bisher meist ein Debugger Verwendung. Bei Multithread-Programmierung ist dieser jedoch oft nur eingeschränkt nutzbar, da er den Ablauf beeinflusst. Bei nebenläufigen Prozessen, mehreren Threads und vor allem bei Computern mit mehreren gleichzeitig arbeitenden CPUs (Multiprozessor- und Mehrkern-Systeme, Hyper-Threading) hängt das Ergebnis des Programmablaufs oftmals davon ab, ob die einzelnen Programmteile zeitlich parallel ausgeführt werden. Bei Verwendung eines Debugger ist dies nicht mehr sichergestellt:
Die Lösung ist ein Tracer-Werkzeug, mit dem der tatsächliche Ablauf der parallelen Programmteile protokolliert und anschließend ausgewertet werden kann.
Kithara Kernel Tracer ist ein Multi-Source-Echtzeit-Message-Logger. Er dient der Fehlersuche, der Qualitätskontrolle und allgemein zum Aufspüren von Zusammenhängen, die ansonsten kaum zu ermitteln sind. Kithara Kernel Tracer sammelt garantiert alle Trace-Messages, die systemweit von verschiedenen Quellen stammen können, in der Reihenfolge ihres Auftretens ein, wobei diese normalerweise auf unterschiedlichen Seiten (Tabs) erscheinenden Messages auf einer Seite zusammengeführt werden können (merged).
Kithara Kernel Tracer ist in der Lage, mehrere hunderttausend Messages pro Sekunde zu verarbeiten. Um in dieser gewaltigen Datenmenge die entscheidenden Informationen zu finden, stellt das Werkzeug verschiedene Mechanismen bereit, um Messages zu filtern oder zu suchen. Es erlaubt eindrucksvolle Einsichten in die tatsächlichen Abläufe im Inneren eines PCs, zum Beispiel auf der Kernel-Ebene. Neben der Darstellung sämtlicher Aufrufe von Kithara-Funktionen mit all ihren aktuellen Funktionsargumenten können Sie auch selbst Messages erzeugen, die dann von Kithara Kernel Tracer mit vielen hilfreichen Zusatzinformationen dargestellt werden.
Sie können eigene Meldungen an den Tracer übergeben, beispielsweise um Variableninhalte darzustellen oder das Eintreten besonderer Programmzustände zu signalisieren. In den Tools von Kithara RealTime Suite stehen dafür die Funktionen KS_logMessage und KS_vprintK zur Verfügung. KS_logMessage kann von allen unterstützten Sprachen genutzt werden, KS_vprintK verwendet eine variable Argumentliste und ist daher von C und C++ aus verwendbar.