Vysvětlení funkce debuggeru

Často tady čtu o použití „debuggeru“ anebo krokování programu. Může mi někdo popsat k čemu se to dá v praxi použít. Předpokládám že pro normální psaní programu to není potřeba.

:arrow_right: administrator: přesunuto z fóra "Ostatní"

Zkus tady

Na Wikipedii toho moc o funkci „toho našeho“ debuggeru nenajdeš. V krátkosti jde o to, že do zapojené aplikace s mikrokontrolérem připojíš debugger, podobně jako bys tam připojil programátor pro programování v aplikaci (ISP). Programátorem připojeným přes ISP může pouze nahrávat, číst, mazat a verifikovat data. Kdežto díky debuggeru vidíš co se v mikrokontroléru děje. Program můžeš krokovat (tzn., že pomalu procházíš jednotlivé instrukce a díky tomu např. nalezneš chybu v programu nebo v elektronickém zapojení), můžeš vkládat breakpointy (místo, kde se zastaví program a ty si v daném místě prohlédneš registry, apod.) nebo třeba debuggerem jen nahráváš data.

K normálnímu psaní programu debugger nepoužiješ. Debugger využiješ až ve chvíli, kdy je nutné v programu něco odladit (ať už chceš provést nějakou úpravu nebo najít chybu). V těchto situacích je debugger přímo poklad.

Nezapomeň, že pokud chceš použít debugger, musí to být podporováno i na straně mikrokontroléru. Jestli si debugger nikdy nepotřeboval, není nutné si jej kupovat nebo stavět. Znám spoustu velmi dobrých programátorů, kteří debugger nechtějí. Osobně dávám většinou přednost extrémně rychlému ISP programování na svém Xelteku.

To jako přepisuješ program tak rychle, až se chyba sama opraví?

Jak to myslíš? Napsal jsem něco špatně?

Nerozumím tomu, jak nahrazuješ debugging rychlostí programátoru. To mi nedává žádný smysl.

Tak jestli neví vůbec, co je debugger, tak aspoň zhruba aby věděl o co jde.

Myslel jsem to tak, že debugger prostě nepoužívám. Místo debuggeru používám pouze programátor a když připíšu pár instrukcí, tak mi velmi rychle přepíše celou paměť (na rozdíl od debuggeru, který přepíše pouze změněnou část pamětí, ale přepíše jí pomalu, takže to nakonec vyjde na stejno).

Samozřejmě, že můj programátor nemá žádné funkce debuggeru, ale málo kdy potřebuji debugger.

Děkuji všem zúčastněným za vysvětlení. Podle toho co jsem četl je to určitě užitečná pomůcka, ale pro mě, co napíše jen pár prográmků za rok, postradatelná.