Software tracing combined with powerful visualization allows for unprecedented insight. Improve productivity and quality in your software development, reduce project risks and time-to-market.

Source code alone does not give the full picture of how multitasking software systems actually behave in run-time. The real-time behavior also depend on many other factors, like the timing of your tasks and interrupts, their interactions and inputs. With a sophisticated tracing tool like Tracealyzer, you get much better insight into the run-time world of your system and accelerate your development, debugging and validation.

To learn more about the challenges of designing and debugging multitasking embedded systems, we recommend reading this white paper.

“Tracealyzer has doubled our development speed. Problems that otherwise would take days to solve are obvious with this tool and just a quick fix. We use it all the time.”

Alex Pabouctisids, Lead Firmware Engineer, Flyability.

  • Faster Troubleshooting:

    Tracealyzer allows for capturing rare, sporadic errors which otherwise can be very hard to reproduce and analyze. Many embedded software problems can be solved in a fraction of the time otherwise required. Tracealyzer recording can be used in parallel with existing debuggers in the lab, or deployed in field systems to capture rare sporadic errors.

  • Better Software Quality:

    Tracealyzer is not only a “fire extinguisher” to use on specific hard problems. You can also discover and avoid potential future problems, such as blocking system calls that are close to a timeout. Moreover, Tracealyzer gives you a better understanding of the current system run-time dynamics, so when designing new features, you can avoid unsuitable designs that could cause problems related to timing, CPU usage, scheduling or other task interactions.

  • Better Performance:

    The improved insight also allows you to find new ways of improving the embedded software performance. There might be “low hanging fruits”, where small changes in task timing may give substantial performance improvements. Tracealyzer provides several ways of finding “hot-spots” where tasks are delayed by higher prioritized tasks, that possibly could run a bit earlier or later to reduce resource conflicts. Without suitable visualization, such optimizations are very hard to find. This way, you can get a more responsive software system, or fit more software functionality in the same hardware platform.

  • Control system tuning:

    Control system developers can benefit from the support for plotting custom application data, what we call user events. Plots of e.g. control signals (sensor inputs and actuator outputs) can be correlated with the software timing in order to better understand anomalies in the control performance. Moreover, plots of task timing (e.g., periodicity) can be used to study software timing variations that affects control performance.

  • Other benefits:

    The improved level of insight also allows for faster introduction of new developers and better possibilities to evaluate the performance of new third party software, such as embedded databases, touch screen drivers or communication stacks. Finally, since we support several common operating systems for embedded software, you can often keep the Tracealyzer support even if switching to another operating system.

Learn more

Download Tracealyzer for your RTOS and try the visualizations using the included demo. And don’t miss these articles about Tracealyzer and RTOS-based firmware development.