EMB 92
EMBEDDED 92 • MAGGIO • 2024 33 OPEN SOURCE | SPECIALE Il debugging aiuta ad assicurare il corretto funzionamen- to dei sistemi embedded, eliminando gli errori che com- promettono prestazioni e safety del sistema, ottimizzando l’uso delle risorse, e migliorando la stabilità e l’affidabili- tà. Nell’ambito dei tool di debugging, uno strumento open source popolare è GDB (GNU Debugger). GDB supporta numerosi linguaggi, ed è un tool per attuare l’analisi di- namica del codice: consente quindi di osservare cosa sta succedendo dentro un programma, mentre si trova in ese- cuzione. Per aiutare a identificare i bug, GDB usa diverse tecniche: può avviare il programma, specificando tutto ciò che potrebbe influenzarne il comportamento; può fare in modo che il programma si interrompa alle condizioni spe- cificate; può analizzare cosa è successo quando il program- ma si è fermato; o, ancora, può modificare il programma, per sperimentare la correzione degli effetti di un bug. Identificazione degli errori di memoria: Valgrind Sempre nell’area dei tool di debugging si posiziona Val- grind, una suite di strumenti indirizzata a individuare i problemi di gestione della memoria del sistema, che posso- no causare malfunzionamenti e crash. Valgrind è una suite open source, liberamente disponibile sotto licenza GNU GPL (General Public License), versione 2. Attraverso i tool Valgrind, si spiega nella pagina dedicata, è possibile iden- tificare in automatico molti bug di gestione della memoria e bug di threading. In sostanza, lo strumento aiuta gli svi- luppatori ad assicurarsi che il programma creato sia esente da molti errori e bug comuni, alcuni dei quali potrebbero richiedere ore per essere trovati in modalità manuale, o addirittura non essere mai scoperti. In aggiunta, Valgrind può aiutare a velocizzare i programmi, attraverso l’identi- ficazione e l’eliminazione dei colli di bottiglia. Piattaforme di containerizzazione applicativa: Docker Un altro strumento utile nello spazio embedded è la tec- nologia open source di containerizzazione Docker. In ma- niera analoga a quanto accade nello sviluppo di software per il mondo IT, anche lo sviluppo applicativo basato su Embedded Linux può essere complesso e dispendioso in termini di tempo, soprattutto quando gli sviluppatori si trovano a dover gestire le varie dipendenze del software, e a dover garantire il suo funzionamento su differenti sistemi operativi e nei diversi ambienti di progettazione e test delle applicazioni. Da questo punto di vista, Docker permette di semplificare il processo di sviluppo, mettendo a disposizio- ne un ambiente portatile e riproducibile, per la realizzazio- ne e il test di applicazioni Embedded Linux. Il software open source diventa sempre più preponderante anche nel dominio degli strumenti di sviluppo per sistemi embedded (Fonte: Pixabay) Alcuni strumenti di sviluppo aiutano a trovare ed eliminare i bug del software, altri permettono di razionalizzare la gestione delle attività di patch management (Fonte: Pixabay)
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzg4NjYz