SEGFAULT: Debugging di un'applicazione che va in crash

🙀 Qualcosa si rompe Se usate Linux ed eseguite alcune applicazioni, potreste aver visto a volte un messaggio di errore simile a questo: [1] 24975 segmentation fault (core dumped) cosa significa e come può essere utile? Scopriamolo insieme. 🧪 Preparazione del laboratorio Per realizzare un caso di studio adeguato, abbiamo bisogno di un programma che vada in crash. Naturalmente al giorno d’oggi sono molto rari 😁 quindi ne creeremo uno noi stessi, mettendo in mostra le nostre peggiori abilità e pratiche di programmazione in C. ...

5 aprile 2024 · Andrea Manzini

Primi passi con il Linux Test Project

🕵️ Introduzione Il Linux Test Project (LTP) è un progetto congiunto avviato anni fa da SGI, OSDL e Bull, sviluppato e oggi mantenuto da IBM, Cisco, Fujitsu, SUSE, Red Hat, Oracle e molti altri. L’obiettivo del progetto è fornire alla community open source test che convalidino l’affidabilità, la robustezza e la stabilità di Linux. In questi giorni sto esplorando il progetto, quindi con questo articolo voglio mostrare passo dopo passo come configurarlo, come vengono effettivamente scritti i test e fornirvi una guida rapida ed essenziale per scrivere il vostro primo test. ...

10 febbraio 2024 · Andrea Manzini

Introduzione al packaging delle applicazioni Rust

🦀 Introduzione 🦀 Come esercizio, oggi pacchettizzeremo un gioco chiamato battleship-rs sviluppato da Orhun Parmaksız. Useremo inoltre la potenza di openSUSE build service per svolgere la maggior parte del lavoro pesante. Prima di iniziare, diamo un’occhiata al progetto: è ospitato su GitHub e, se volete provarlo prima di pacchettizzarlo, è un simpatico gioco in cui due persone possono giocare nel terminale tramite una connessione di rete TCP. Il posizionamento iniziale delle navi, il tracciamento dei colpi, i turni dei giocatori e lo stato stesso del gioco sono gestiti da un singolo processo Rust. ...

19 gennaio 2024 · Andrea Manzini

Fault Injection in Network Namespace e ambienti Veth

Introduzione Questo articolo fa seguito al mio post precedente ed è una sorta di continuazione della serie sull’argomento, in cui esploriamo modi per rendere il nostro sistema di test più "inaffidabile" al fine di osservare se le nostre applicazioni si comportano correttamente in ambienti difficili e non ideali. In questo articolo esploreremo alcune tecnologie Linux: Network Namespace (netns) Dispositivi Ethernet Virtuali (veth) Politica di scheduling per l’emulazione di rete (netem) L’obiettivo è configurare un collegamento di rete virtuale all’interno del nostro sistema, far comunicare i due dispositivi di rete tra loro e quindi simulare una comunicazione scadente/lenta/instabile/difettosa per testare come si comportano le applicazioni in condizioni difficili. ...

6 gennaio 2024 · Andrea Manzini

This site does not use cookies or collect any personal data. © 2026 Andrea Manzini.