1) Well, okay, there are exceptions. Perhaps you have to find a spare IO pin attached to an LED, and make it blink at you in morse code, because your serial port hasn't come up yet, so you can't print to the console; but it's the same idea.
1) Well, okay, there are exceptions. Perhaps you have to find a spare IO pin attached to an LED, and make it blink at you in morse code, because your serial port hasn't come up yet, so you can't print to the console; but it's the same idea.
Seeing the state is faster with a debugger is probably faster, but the process is an analog to explaining the situation to a rubber duck.
Then you learn debugger like once? twice? thrice? And still they are not this complex
>but one has to balance the time spent learning & managing fancier tools versus the time spent getting the job done.
There is funny saying which goes like this
You can save 2h of reading debugger docs with 12 years of using prints
Personally, tcpdump is my favorite debug hammer, but printf is second. FreeBSD's kernel debugger is pretty neat (especially over an IPMI serial console), but fills me with dread when I need it.
Maybe just a spare IO pin and an oscilloscope.
I made a write-only UART on an ST7. Clocking worked out to 500kbit because that was the first configuration I found where I could make the mark and space bits take an equals number of cycles. I still remember thinking: why in the world is the timing for each of these instructions so different?