A quoi servent les coredumps lorsque l'un de vos programme crashe ?

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
97
Mois de parution
juillet 2018
Domaines


Résumé
On sait tous que chaque avion est systématiquement équipé d’une boîte noire et on est évidemment conscient de l’utilité de cette dernière essentiellement lors d’un crash. Peut-on équiper nos processus d’une boîte noire qui conserve les conditions d’un crash ?Les coredumps, que l’on va étudier tout au long du présent article, jouent un rôle semblable à celui d’une boîte noire pour les binaires exécutables qu’on va lancer. On vous invite à découvrir et à profiter de ces fichiers binaires.


Les coredumps sont des fichiers binaires pas comme les autres. Les fichiers binaires qu’on a l’habitude de manipuler tels que les fichiers exécutables ainsi que les fichiers objets et les librairies partagées sont tous générés manuellement à partir d’un code source existant. De toute évidence, c’est le développeur qui prend la peine dans un premier lieu d’écrire le code source, de l’enregistrer dans un fichier et dans un second lieu de faire appel à un compilateur, à un éditeur de lien et à l’ensemble des outils nécessaires (contenus dans la chaîne de compilation) à la préparation du fichier binaire requis. Cela dit, ce n’est pas le cas pour les fichiers binaires qu’on va traiter tout au long de cet article, car ils se distinguent des autres fichiers binaires par le fait qu’ils ne suivent pas la voie habituelle, puisque ces derniers sont générés automatiquement par le noyau Linux lorsque le programme en cours d’exécution crashe.

Sans doute,...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Analyser un système avec SystemTap

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

SystemTap est un outil d’analyse et de débogage de Linux. En instrumentant des points précis du système d’exploitation, il permet d’afficher des traces, de faire des mesures, ou de modifier le comportement d’un système existant, sans le recompiler, et même sans le redémarrer.

Persistance et objets en C++

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

Au travers de deux articles [1-2] sur les principes de l’orienté objet en C++, nous avions abordé encapsulation, héritage, et polymorphisme. Nous proposons dans ce nouvel article les classes de base pour gérer la persistance d’objets dans des fichiers. Ces classes utilisent les principes énoncés ci-dessus et présentent des stratégies via la généricité. Un exemple de stratégie pour stocker en binaire pourra être redéfini pour d’autres stratégies, comme un stockage en XML.

Principes de l’orienté objet en C++ : la généricité

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

La programmation orientée objet obéit à des principes. Les 4 principaux sont l’encapsulation, l’héritage, le polymorphisme et la généricité. Dans un premier article, nous avons évoqué l’encapsulation, puis l’héritage et le polymorphisme dans un deuxième. Ce troisième et dernier article traite de la généricité.

Flutter : applications mobiles, web et desktop

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

Flutter est un framework permettant de développer des applications natives pour Linux, Windows, macOS, Android, iOS et le Web à partir du même code source. Un moteur graphique OpenGL ultra performant et la compilation native en ARM, x86-64 ainsi que WebAssembly, associés à un cycle de développement agile et hyper intuitif, en font la solution ultime pour les créateurs d’applications. L’essayer, c’est l’adopter !