Schwerpunkte

Interview mit Dr. Johan Kraft

»Tracealyzer erreicht eine neue Stufe«

14. April 2021, 08:00 Uhr   |  Tobias Schlichtmeier

»Tracealyzer erreicht eine neue Stufe«
© Percepio

Dr. Johan Kraft von Percepio.

Gestern gaben Percepio und Lauterbach ihre Zusammenarbeit bekannt. Für Entwickler eröffnen sich hiermit neue Möglichkeiten. Was die Partnerschaft für Percepio bedeutet, erklärt Dr. Johan Kraft, CEO von Percepio, im Interview.

Dr. Johan Kraft ist CEO und Gründer von Percepio. Dr. Kraft ist der ursprüngliche Entwickler von Percepio Tracealyzer, einem Werkzeug zur visuellen Trace-Diagnose. Seine angewandte akademische Forschung, die er in Zusammenarbeit mit der Industrie betreibt, konzentriert sich auf die Timing-Analyse von Embedded Software. Dr. Kraft verfügt über einen Doktortitel in Informatik.

Herr Kraft, wie kam die Kooperation mit Lauterbach zustande?

Ein großes europäisches Unternehmen beabsichtigte Lauterbach-Hardware zu verwenden, wünschte sich jedoch gleichzeitig die von Tracealyzer gebotene Daten-Visualisierung und Benutzerfreundlichkeit. Aus dem Grund fragte das Unternehmen eine Integration an, bei der Tracealyzer auf die Hardware-Tracedaten aus den Lauterbach-Tools zurückgreift. Wir fanden das einen sehr interessanten Ansatz – es handelt sich hier um den ersten Schritt einer umfassenden Integration.

Welche Vorteile erhoffen Sie sich mit dem Implementieren von Tracealyzer in die Trace32‑Tools von Lauterbach?

Tracealyzer erreicht hiermit eine neue Stufe, da deutlich mehr Laufzeit-Informationen verfügbar sind, während Lauterbach-Kunden ab sofort von Tracealyzer profitieren. Wir planen außerdem im weiteren Verlauf den Lauterbach-Support für Systemtests in Percepio DevAlert hinzuzufügen. DevAlert alarmiert Entwickler automatisch, kontinent- und sprachübergreifend, sobald Fehler oder Warnsignale auftreten und zeigt anhand eines visuellen Trace genau, was sich abgespielt hat. Während des Systemtests können Entwickler solche Alarmmeldungen über einen Debugger an PC-Software kanalisieren, anschließend lädt die Software die Meldungen hoch.

Ganz allgemein gefragt: Worin liegen die hauptsächlichen Unterschiede zwischen Hardware- und Software-Debugging?

Das softwarebasierte Tracing stützt sich auf die Instrumentierung des Codes zum Aufzeichnen von Ereignissen. Es ist ein flexibles und portierbares Verfahren, mit dem sich alle gewünschten Informationen aufzeichnen lassen – mit einem minimalen Mehraufwand. Beim hardwarebasierten Tracing hingegen, stellt die Prozessor-Hardware die Daten bereit, ohne Software-Instrumentierung. Allerdings geht der höhere Detaillierungsgrad zu Lasten der Flexibilität und Portierbarkeit. Beide Methoden haben ihre Vor- und Nachteile – deshalb planen wir die Einführung einer Hybrid-Lösung, die die besten Merkmale beider Verfahren kombiniert.

Unsere Embedded-Marktstudie ergab, dass Trace32 das zweitbeliebteste Tool beim Debuggen ist. Tracealyzer liegt jedoch weit dahinter. Wie erklären Sie sich das?

Tatsache ist, dass wir bisher relativ eng fokussiert waren und größtenteils die FreeRTOS-Community anvisiert haben. Das wird sich jedoch bald ändern. Hinzu kommt, dass Tools für die Trace-Analyse häufig als hochspezialisierte Werkzeuge gelten, die Entwickler lediglich in ganz bestimmten Situationen benötigen. Tracealyzer liefert jedoch ein umfassendes Bild und ermöglicht neben zügigem Debuggen ebenso Verbesserungen beim Softwaredesign. Unsere Kunden machen für Tracealyzer ein breites Anwendungsfeld aus und berichten, dass ihnen das Tool über den gesamten Verlauf ihrer Entwicklungsprojekte großen Nutzen bringt.

Mit PowerTrace besitzt Lauterbach bereits ein eigenes Tracing-Tool. Was kann Tracealyzer, was PowerTrace nicht kann?

Tracealyzer ist kein direkter Ersatz für PowerTrace. Es bietet zusätzlich einen visuellen Top-Down-Workflow, mit dem man etwaige Probleme rasch detektieren und sich anschließend zu den jeweiligen Details vorarbeiten kann. Tracealyzer bietet ausgefeilte visuelle RTOS-Analysen, beispielsweise zur unterschiedlichen CPU-Auslastung, Antwortzeiten und sogar Task-Abhängigkeitsgraphen. Die Trace-Ansicht fasst viele Arten von Informationen in einer gemeinsamen visuellen Zeitleiste zusammen, wie etwa das Scheduling, API-Aufrufe, Zustände, Metriken und das Applikations-Logging. Kunden nutzen das für das Debuggen auf der System-Ebene, für Timing-Analysen sowie für Softwaredesign-Analysen.

Vielen Dank für das Gespräch Herr Kraft.

Auf Facebook teilen Auf Twitter teilen Auf Linkedin teilen Via Mail teilen

Das könnte Sie auch interessieren

Verwandte Artikel

Percepio AB, Lauterbach GmbH