Tracealyzer bietet Ihnen eine neue intuitive Möglichkeit das Echtzeitverhalten von embedded Echtzeit-Software-Systemen zu analysieren. Sie finden damit Probleme schneller oder vermeiden sie bereits im Vorfeld und optimieren dann die Performance Ihres Systems schnell und einfach.
Tracealyzer bietet über 20 grafische Darstellungsweisen, die alle intuitiv miteinander verknüpft sind, sodass sich die Navigation in den Visualisierungen denkbar einfach gestaltet. Mehrere dieser Darstellungen (Views) unterziehen die Traces einer anspruchsvollen Analyse, um die Visualisierung zu verbessern und das Verstehen zu erleichtern. Zum Beispiel sind Kernel-Aufrufe farbig codiert, zusammenhängende Ereignisse sind markiert und die Scheduling-Visualisierung lässt sich auf vielfältige Weise situationsabhängig anpassen.
Die Visualisierung zeigt das Linux-Kernel Verhalten z.B. des Scheduling, System-Calls, Messages, Semaphoren und Interrupts auf. Es wurde um eine anwendungsorientierte Aufzeichnung von Ereignissen ergänzt, die auch dazu verwendet werden können, Daten als zeitliche Kurve darzustellen. Damit wird die Entwicklung regelungstechnischer Anwendungen viel einfacher.
Das Tool kann während der Entwicklung im Labor ebenso wie im Anwendungssystem im Feld implementiert werden, wo es als Tracelogger die Analyse eines System-Absturzes stark vereinfacht.
Einfache Integration, LTTng Trace
Tracealyzer visualisiert Traces aus LTTng v2.x und unterstützt die meisten Linux-Systeme ab der Kernel-Version v2.6.32. Auch Wind River Linux wird von Tracealyzer for Linux unterstützt. Tracealyzer ist auch für komplexe Multi-Core-Systeme optimal geeignet!
Debugging von embedded Software Systemen
Debugging von embedded Software kann sehr zeitaufwendig sein, speziell wenn viele Tasks in Linux implementiert wurden. Ein konventioneller C/C++ Debugger zeigt nur den Systemstatus im Fehlerfall oder bei einem Haltepunkt an, aber nicht wie das System zu diesem Status gelangte!
Fragen wie:
- Wie viel CPU Zeit wurde für welche Aufgaben verbraucht?
- Was passiert wirklich in der zeitlichen Abfolge in meinem System?
- Gibt es Tasks, die ab und zu überdurchschnittlich viel Zeit benötigen?
- Gibt es Verzögerungen im Pre-Emptive-Scheduling nach Interrupts?
- Wie viele und welche Pre-Emptions treten verschachtelt wann auf?
Das alles kann ein konventioneller Debugger nicht beantworten, meist auch dann nicht wenn er über eine sog. Task-Aware-Debugging Funktion verfügt. Und diese auch noch sehr oft unkomfortabel zu bedienen ist.
Tracealyzer ist eine optimale Ergänzung zu konventionellen Debuggern, egal ob es sich um On-Chip-Debugg-Tools, Eclipse/GDB basierte oder ähnliche handelt. Tracealyzer liefert eine Überblick und tiefen Einblick in das Laufzeit- und Echtzeit-Verhalten des Systems. Als Entwickler verstehen Sie plötzlich Ihr System besser und in einer Weise, die mit dem Sourcecode oder normalen Debuggern nicht möglich gewesen wäre. Dadurch finden Sie Fehler und Probleme viel schneller und vermeiden diese in der Zukunft, wenn Sie Tracealyzer entwicklungsbegleitend verwenden. Sie haben somit mehr Zeit um sinnvolle Features der Software zu entwickeln.
Tracealyzer 4.4 für Linux zur übersichtlichen Darstellung vieler Tasks
DIese Version unterstützt mit einer übersichtlichen Darstellung auch sehr viele Tasks und vor allem Parent/Child Prozesse die durch fork entstanden sind.
Lesen Sie hier bei Percepio mehr über die Version 4.4 welche im Sommer 2020 freigegeben wird. Für Interessenten steht jezt schon eine Beta Version zur Verfügung.