DBGMEM

Logiciel capture d'écran:
DBGMEM
Détails logiciels:
Version: 1.9.2
Date de transfert: 3 Jun 15
Développeur: Moser Michael
Licence: Gratuit
Popularité: 21

Rating: nan/5 (Total Votes: 0)

Il travaille actuellement pour Linux uniquement. DBGMEM est distribué sous les termes de la GNU Lesser General Public License
L'outil vous aide à trouver des problèmes tels que
& Nbsp; 1. fuites de mémoire
& Nbsp; 2. la corruption du tas de mémoire
& Nbsp; 3. Détournement, l'argument illégal de fonctions de la bibliothèque standard sélectionnés.
& Nbsp; 4. empiler la corruption
& Nbsp; 5. L'utilisation de mémoire de tas libéré ou non initialisée.
& Nbsp; 6. Vous permet d'étendre l'outil, vérifier les arguments des API supplémentaires
L'outil remplace les fonctions d'allocation de mémoire GLIBC, la mémoire et les fonctions de manipulation de chaîne afin d'ajouter ses fonctionnalités.
DBGMEM ne nécessite pas de modifications à votre programme, bien que vous pourriez souhaiter changer votre programme afin d'utiliser certaines fonctionnalités avancées.
DBGMEM est un débogueur open mémoire source pour les programmes C et C ++ et fonctionne sous le système d'exploitation Linux, et est publié sous la licence GNU Lesser General Public License. DBGMEM ajoute contrôles de débogage à des parties de la bibliothèque standard de Glibc; il est implémenté dans les bibliothèques partagées qui sont chargés dans l'espace d'adressage du processus de débogage.
Outils
DBGMEM dispose de plusieurs outils de débogage mémoire, chacun peut être chargé dans le programme de débogage; L'outil simple garde une trace de tous les blocs de mémoire alloués, et ajoute livre des informations de conservation, telles que la pile au moment où le bloc a été alloué, dans un en-tête de l'aréna qui précède le bloc de mémoire alloué; elle ajoute également un mot de garde avant et après le bloc alloué; L'outil simple est mieux utilisé pour la détection des problèmes de fuite de mémoire; que l'en-tête de l'aréna peut être corrompu par le programme en cours de débogage. La vérification a pris garde toutes les informations de comptabilité de la pile dans un fichier mappé en mémoire anonyme; ce qui rend l'outil plus robuste pour résister à l'écrasement mémoire bugs. L'outil de contrôle ajoute également la capacité de rechercher rapidement des informations sur tout bloc de segments pour une valeur de pointeur contenu dans ce bloc de tas; l'outil de contrôle ajoute validation des paramètres à la chaîne commune et fonctions de manipulation de la mémoire, et les chèques pour possible écrasement de la pile par ces fonctions.
Mode de fonctionnement
Vous pouvez exécuter la plupart des programmes avec le débogueur tel quel; l'outil ne nécessite pas le programme de débogage pour être liée à des bibliothèques spécifiques; L'outil est une bibliothèque partagée qui est chargé dans l'espace d'adressage d'un processus qui est vérifié au moyen de la technique d'injection de DLL. La fonction de LD_PRELOAD du linker dynamique est utilisée pour charger les outils bibliothèque partagée d'abord, avant toute autre bibliothèque est chargée; allocation de mémoire et de la fonction de manipulation de chaînes sont interceptés et d'abord appelé à la bibliothèque de l'outil; cela permet à l'outil pour ajouter ses contrôles. Lors de l'exécution du processus de débogage un rapport brut est écrit qui est en outre traitée après la fin du processus de débogage; le rapport augmentée ajoute des noms de fonctions symboliques pour empiler des traces contenues dans le rapport brut. Le débogueur gdb est utilisé pour transformer les adresses numériques en adresses symboliques pendant le traitement ultérieur de rapport brute

Caractéristiques :.

  • les fuites de mémoire ; Ceci est valable pour l'outil de contrôle et des outils simples. L'outil suit chaque bloc de tas alloué avec trace pile prise à l'époque où a été attribué le bloc; outre une étiquette d'entiers est conservé avec chaque allocation, cette valeur suit une période logique / `génération» qui caractérise l'époque où a été alloué le bloc. Un rapport de cette information est toujours produit à la sortie de processus, ou sur demande de l'utilisateur. Cette information aide à trouver les instances et les causes de fuites de mémoire.
  • L'utilisation de mémoire de tas pas initialisé ou la mémoire de tas libéré; Ceci est valable pour l'outil de contrôle et des outils simples. L'outil définit toute la mémoire nouvellement allouée valeur d'octet 0xDD et tout mémoire libérée à la valeur de l'octet 0xEE; utilisation de ces valeurs conduit généralement à des erreurs programmer, si cette zone de mémoire contient un pointeur, puis le déréférencement d'un pointeur avec la valeur 0xDDDDDDDD mènera à un accident.
  • Heap corruption de la mémoire; Ceci est valable pour l'outil de contrôle et des outils simples. Les contrôles de l'outil pour la mémoire écrase et souscrit en plaçant un préfixe et le suffixe de mémoire sur chaque bloc de tas; si la valeur du suffixe est modifié, un écrasement de tas / souscrire est détecté.
  • Ceci est valable pour l''outil de vérification' '' '' seulement; Détournement de fonctions de manipulation de chaîne de la glibc et copie de la mémoire / fonctions de déplacement de la glibc; empiler la corruption par ces fonctions vérifiés L'outil reçoit un premier passage sur les fonctions de la bibliothèque standard communs, il est vérifié que la fonction ne sera pas écraser un bloc argument tas existant; il est également vérifié que la pile du thread appelant ne sera pas endommagé.

Ce qui est nouveau dans cette version:

  • faire obtient maintenant CFLAGS variable d'environnement
  • construire dbgmem bibliothèque avec -ldl
  • bibliothèque partagée est maintenant placé dans le répertoire lib / $ (uname -r) répertoire, comme glibc est marié à la version du noyau.
  • fix compilation sur certains systèmes (étape de configuration)
  • ajouter l'option d'utiliser le script (-m - générer pile retrace seulement pour quelques générations)

Quoi de neuf dans la version 1.9.1:

  • make script mis à jour, il tente maintenant de détecter requise paramètres intégrés; ne sont toujours pas aujourd'hui comment faire si automake
  • erreur de compilation en mode C pour gcc 2.9.6 fixe; gcc bloque toujours avec erreur interne sur le mode C ++ intégré
  • Ajout de l'option -g (désactiver chèque de jumelage de malloc / new / nouveau [] et libre / supprimer / supprimer [] dans le mode C ++)

Ce qui est nouveau dans la version 1.7:

  • option -F suivre fork et exec appels (comme dans ajouté fork / exec)
  • imprime maintenant sur la ligne de commande du processus de débogage en-tête du fichier de rapport.
  • carte nom de fichier inclut désormais pid.
  • supprimer des fichiers de rapport premières par défaut; il ya trop d'entre eux;
  • toutes les utilisations de sprintf modifiés pour snprintf

Logiciel similaire

GDB
GDB

16 Aug 18

drainhunter
drainhunter

12 May 15

jTracer
jTracer

17 Feb 15

Commentaires à DBGMEM

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!