Nikde jsem se nezmiňoval o bezchybném kódu, ovšem na hledání chyb debugger opravdu nepotřebuji. Připadá mi to poněkud zastaralé a dávno překonané.
Ne, není. Stále je to velmi využíváné při běžném aplikačním programování, v databázích, UI apod. Když to umíte používat, tak to šetří hodně času, protože vás to rychle navede k tomu, co je špatně. Tedy ne k samotné chybě v programu, ale k chybnému stavu - například že v proměnné A je něco jiného, než by v té chvíli podle vás být mělo, případně že se IF přeskakuje, když by neměl, atd. Zjistit proč je v A něco jiného je pak už samozřejmě na vás.
Kolegové, co neradi používají debugger, místo toho na vybraná místa píší sérii debug hlášek, kterými si vypíší stav proměnných. Což je obvykle o dost pracnější, protože to jsou často seznamy nebo pole. To vám pak deset minut píší dbms_output.put_line jen aby zjistili, že jim jeden select vrací NULL a to pak blbne IF, protože porovnání s NULL není nikdy TRUE ani FALSE. S debuggerem by to byla práce na minutu, zjistit že v nDefaultContactTypeID mají NULL. Pak už vědí kam jít, že problém není v programu samotném ale v tom, že někdo aktivní odškrtnul v seznamu typů kontaktů "Default". Což byl problém už před patnácti lety, jenže až do letošního listopadu to nikoho nenapadlo udělat.