Scrutiny Debugger is an open-source debugging, visualization, and testing tool for C/C++ embedded applications. It works exclusively through instrumentation and does not require a debug probe. By requesting firmware memory dumps via a common link as serial, CAN or TCP data, it acts as a telemetry tool, a powerful calibration tool, or a hardware-in-the-loop testing framework.   

Background

Interacting with embedded firmware can be tricky, regardless of whether for configuration, testing, or debugging. Moreso, debugging an “in-flight” real time application must not affect critical, real-time tasks. Additionally, debug probes can be costly and/or complex to use.

A good solution to these problems is debugging via instrumentation, a technique that I learned while working with power converters and EV motor controllers. It consists of adding a little bit of code in firmware to enable remote monitoring and control, without affecting behavior. While not revolutionary, this technique s...