3 ms·
There are two situations that I encounter that make step through debugging difficult or impossible, and for a lot of my work both apply. A) When developing for
by rkangel 4y ago
There are two situations that I encounter that make step through debugging difficult or impossible, and for a lot of my work both apply.
A) When developing for a microcontroller (however large or small). Stepping debuggers are limited, and sometimes unavailable at all. Most are clunky. ARM is the best here.
B) Running real time things. E.g. you can't step through a Bluetooth comms process because the moment you hit a breakpoint you aren't servicing a link and everything falls over.
There are some good tools like reverse time debuggers (e.g. https://undo.io/ https://undo.io/) that deal with the real time thing, but nothing deals with the combination. Plus a well maintained set of log outputs often tells you exactly what went wrong with just a cursory glance through the logs.
- dahfizz 4y agoI will add C) debugging signal handlers is somewhere between tricky and impossible depending on the scenario because of how debuggers work. D) debugging optimized code. -O2 or -O3 code will have everything executing out of order, all variables are optimizes out, everything is inlined, etc.
- supermatt 4y agoOh yeah, most definitely - tooling isn't just debuggers, after all. I often use network traffic monitors, packet analysers, etc. No doubt in the microcontroller and EE world theres specific tooling too. That includes the humble logger :)