Duke Nukem 3D : un outil valgrind adapté à la lecture d’appels systèmes

Magazine
Marque
GNU/Linux Magazine
Numéro
206
Mois de parution
juillet 2017
Domaines


Résumé
On ne présente plus ni Duke Nukem 3D, ni Valgrind. Les deux outils sont très complémentaires : d’un côté, nous avons un émulateur de processeur RISC qui permet de faire une abstraction des instructions d’origine, d’un autre vous avez un jeu d’arcade qui permet de supporter de longues heures passées sur le premier ! Alors, pourquoi ne pas être dans l’honnêteté intellectuelle la plus complète et fusionner les deux outils afin de rendre le debugging great again ?

1. À la découverte de valgrind !

Valgrind est un outil fantastique, qui a déjà plusieurs années au compteur et permet aux développeurs bas niveau d’éviter principalement les problèmes de fuites mémoires... mais pas seulement : Valgrind permet aussi de débugger les conditions d’exécution (race conditions) ou, ce que je préfère personnellement, le profilage avec des fichiers créés que l’on ouvre ensuite dans l’interface KCachegrind afin de déterminer les fonctions qui prennent le plus de temps.

Valgrind permet une abstraction du processeur et permet de traduire les instructions en code RISC via la machine virtuelle VEX les différents processeurs suivants : arm64, amd64, ppc32, ppc64, arm v8, mips32, mips64, x86 et s390x.

La machine virtuelle compile en temps réel (JIT) cette abstraction et permet de décoder le code CPU invité pour assembler le code hôte. Coregrind permet d’émuler les appels systèmes du système d’exploitation.

Les instructions sont...

Cet article est réservé aux abonnés. Il vous reste 96% à 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...

Attaques en environnement Docker : compromission et évasion

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines
Résumé

Ces dernières années, on a pu observer une évolution croissante des environnements conteneurisés et notamment de l’usage de Docker. Les arguments mis en avant lors de son utilisation sont multiples : scalabilité, flexibilité, adaptabilité, gestion des ressources... En tant que consultants sécurité, nous sommes donc de plus en plus confrontés à cet outil. Au travers de cet article, nous souhaitons partager notre expérience et démystifier ce que nous entendons bien trop régulièrement chez les DevOps, à savoir que Docker est sécurisé par défaut.

Programmation avec le 6502 : les sprites de la NES, ou comment coder le jeu Pac-Man

Magazine
Marque
Hackable
Numéro
36
Mois de parution
janvier 2021
Domaines
Résumé

Dans le précédent article, nous avons commencé à nous familiariser avec la partie graphique de la console NES (Nintendo Entertainment System). Aujourd’hui, nous allons réaliser un véritable jeu, ou du moins nous allons suffisamment le débuter pour qu’il commence à être intéressant.

Déploiement d’un cluster Wildfly avec Ansible

Magazine
Marque
Linux Pratique
Numéro
123
Mois de parution
janvier 2021
Domaines
Résumé

Automatiser intégralement l’installation du serveur d’application Wildfly et la mise en place de son « cluster » est aujourd’hui devenu une réalité, pour peu bien sûr qu’on utilise un outil approprié à la tâche, tel qu’Ansible. Démonstration, dans cet article, avec le déploiement d’un « cluster » de trois nœuds au sein d’un conteneur Docker.