Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

3
  • 1
    Mikael's donated library lets you set conditional breakpoints, print variables' values, memory status, call traces, & examine-and-change variables at a breakpoint. Pro: Doesn't need hardware ($$), doesn't beat-up as hard on the Flash (as setting and removing breakpoints with a hardware debugger would). .... Commented Dec 2, 2016 at 14:30
  • 1
    .... Con: Higher impact on the program's code-space, some RAM space, & possibly run-time, if examining time-critical code; some learning curve to compile in (and later, remove) the library calls; the need to anticipate break-point locations or re-compile them in when you discover where you need them. The Cons are not a criticism of Mikael's work; they come with this technique. Commented Dec 2, 2016 at 14:33
  • 1
    @JRobert Nice Pro-Con summary! I have tried to address some of the Cons by allowing the debugger to be tailored. There is a set of defines that will allow footprint sensitive applications to reduce the debug shell to a minimum. As any debugger for embedded systems it is difficult to debug time critical (continuous) code with break-points. The only alternative is observation points. These could be optimized by using a trace buffer and remove serial output in time critical code. Commented Dec 2, 2016 at 15:03