Different Debugging Approaches You can remove a bug by patching code or hardware With your editor and compiler With the cutter and the soldering iron You can work around a bug without removing it Higher-level software layers can bypass lower-level misfeatures Higher level hardware (PCB) can overcome lower-level (IC) bugs A software procedure can deal with hardware misbehavior Or you can promote a bug to a feature And this is definitely the winning technique No joking: it works. Everybody does it, try yourself. "If X happens the result is undefined" "The library does not support Y" "Errors are not reported" This also means you can simplify the code