Online C kompilátor a debugger – jak urychlit vývoj vašeho C kódu pro Arduino, RaspberryPi aj.

Jistě jste se setkali se situací, kdy jste psali kód pro mikrokontrolér a nějaký výpočet, logická funkce, parsování dat z pole, převod z jednoho formátu do druhého nefungoval tak, jak by měl.

Pokud máte mikrokontrolér a debugger, pak si můžete jednoduše odkrokovat jednotlivé řádky kódu a ve „watch listu“ sledovat změny vámi vybraných promněných.

Pokud ale debugger nemáte, jste odkázání na UART, výpis na LCD nebo to prostě zkusíte a ono to bude nějak fungovat.

Změna kódu, kompilace, nahrání a porovnání výsledků můžete zabrat spoustu času. Pokud ho máte dost, je vám to možná jedno, ale strávit tento čas podobnou „prkotinou“ je naprosto zbytečné a nelogické, když můžete využít nějaký nástroj – třeba Online C kompilátor a debugger. Nemusí se jednat nutně o „online“, klidně si stáhněte Eclipse nebo jiné IDE podporující jazyk C. Pro mě je verze „online“ nejjednodušší.

Online C kompilátorů je celá řada, některé lepší, některé horší, jiné tragické.

Má nejlepší osobní zkušenosti je OnlineGDB .

OnlineGDB

Kompilátor/debugger disponuje klasickým tlačítkem „Run„, které po zmáčknutí spustí celý kód.

V tlačítku „Debug“ se schovává krokování (ladění) kódu. Jak to použít uvidíte dále. Vedle je pak tlačítko „Stop„, které zastaví debug (ladění).

Kód můžete sdílet kamarádům přes tlačítko „Share„, uložit „Save“ a pokud se vám váš formát kódu nelíbí, zmáčknete „Beautify“ a OnlineGDB vám naformátuje kód tak, jak je to běžným zvykem. Nebo se o to alespoň pokusí.

Online kompilátor/debugger OnlineGDB je určen pro Céčko na „počítače“, takže tam nemůžete ovládat jednotlivé periférie, na to jsou pak jiné programy. Tento kompilátor/debugger vám odhalí chybu jazyka C, jak jsem zmínil výše – podmínky, logické funkce, výpočty aj.

Mimojiné, OnlineGDB podporuje i další jazyky – C++, Java, Python, PHP a další.

Níže vidíte příklad použití:

Máme několik proměnných se kterými provádíme aritmetické operace.

Po spuštění kódu tlačítkem „Run“ se spustí celý kód a vy uvidíte výstup kódu v části stránky nazvané „Input„. Tedy – provede se vytvoření proměnných a přiřadí se jim jejich hodnota, poté se proveete několik výpočetů a nakonec se zobrazí výsledek.

Pokud by vaše část kódu nechovala tak, jak předpokládáte, můžete si buď za každým řádkem vypsat proměnné. To byste asi udělali při ladění kódu na Arduino a vypisovali přes UART.
NEBO použijete debugger.

Debug nebo česky ladění je funkce, nástroj, která vám může vypisovat proměnné, registry aj. z mikrokontroléru během jeho běhu.

Buď můžete kód krokovat, program se zastavuje za každým řádkem kódu, pomocí tlačítek „Step over„, „Step into“ – vstoupite do funkce, která (pokud) je na daném řádku.

Druhou možnosti je použít breakpointy, to jsou body, kdy po spuštění kódu se program zastaví až v místě, kde je umístěn breakpoint.

Jak jsem zmínil hned na začátku, nemůžete vzít celý kód například z Arduino a zkompilovat v tomto online C kompilátoru.

Využití tohoto nástroje je zejména ve vyzkoušení problematickách/náročných částí programů, kde se může kód stát nepřehledným – množství navzájem propojiných pointerů, složité podmínky, výpočty, parsování dat z polí (např. GPS/GSM modulu) aj.
Domovská stránka projektu: https://www.onlinegdb.com/

Na videu níže vidíte obě varianty použití debuggeru.

Sdílejte článek:
Ukaž světu,
že jsi Maker!
Koupit tričko
Kafe pro Chiptrona
Dodej energii dalšímu článku

Související články

Daniel Skopalík sdílel návod, jak použít populární jednodeskový počítač RaspberryPi jako JTAG programátor například ESP32.

Každý elektro nadšenec přinejmenším slyšel o Arduino, které získalo obrovskou popularitu díky svým jedinečným vlastnostem.

Používání AI při bastlení už není sci-fi. Stává se z něj běžný nástroj – podobně jako datasheet, osciloskop nebo Google. Rozdíl je ale v tom, že kvalita výsledku extrémně závisí na tom, jak AI zadáte úkol. Dobře napsaný prompt vám…

Vývojové kity/desky (nebo také development board) jsou velmi populární a každý den nějaký přibude.

Máte-li dost programování vašich projektů v Arduino IDE, zkuste se podívat po jiné variantě. Několikrát jsem tu psal o Programino IDE – novinka, video na youtube. Narazil jsem na více než zajímavé vývojové studio pro Arduino, založeném na populárním vývojovém…

Jazyk Go vyvinutý společností Google Inc.

Trendy