La vue Mémoire permet d'afficher et de changer le contenu de la mémoire ou des zones de mémoire utilisées par le programme.
Pourquoi et quand exécuter cette tâche
Pour ajouter un nouveau moniteur de mémoire depuis la vue Variables, la vue Registres ou l'éditeur :
- Dans la vue Variables, Moniteurs ou Registres, cliquez avec le bouton droit de la souris sur la variable, l'expression ou le registre dont vous voulez contrôler la mémoire. Ou bien, dans l'éditeur, mettez en évidence l'expression dont vous voulez contrôler la mémoire et cliquez dessus avec le bouton droit de la souris.
Remarque : Si l'expression est un pointeur, la valeur de l'expression est utilisée pour accéder à la mémoire.
Si l'expression est une lvalue (avec une adresse en mémoire), son adresse est utilisée pour accéder à la mémoire. Autrement, la valeur de l'expression est utilisée comme adresse. Supposons la déclaration int i = 0x44;, si l'expression est i, le moniteur de mémoire se trouve à l'adresse i. Si l'expression est
i+1, le moniteur de mémoire se trouve à l'emplacement indiqué par la valeur de l'expression i+1, à savoir 0x45.
- Sélectionnez Contrôle de la mémoire > <affichage> dans le menu en incrustation, où <affichage> est l'affichage à afficher dans la partie Affichages de la vue Mémoire.
Procédure
Pour ajouter un nouveau moniteur de mémoire pour une expression depuis la vue Mémoire :
- Cliquez sur le bouton Ajouter un moniteur de mémoire dans la vue
Mémoire (
).
- Dans la boîte de dialogue Contrôler la mémoire, précisez l'expression dans la zone (elle doit être évaluée sur une adresse).
- Cliquez sur OK.
- La partie Moniteurs (sur la gauche) de la vue Mémoire contient l'expression à contrôler que vous avez entrée.
Si vous disposez de plusieurs
moniteurs de mémoire, cette section affiche la liste des expressions que vous contrôlez.
- La partie Affichages (sur la droite) de la vue Mémoire contient les affichages HEX et ASCII.
Résultats
Pour afficher le contenu d'une variable C ou C++ (par exemple, un entier) dans un moniteur de mémoire, il est inutile de faire précéder la variable du signe perluète (&) ou de sélectionner un pointeur qui désigne la variable. Prenons l'exemple du code source C ou C++ suivant :
int i=10; int* p=&i;
Vous
pouvez contrôler la mémoire de la variable i en entrant i ou p dans
la boîte de dialogue Contrôle de la mémoire ou en choisissant l'une des deux valeurs dans l'éditeur et en sélectionnant
Contrôler la mémoire > <affichage> dans le menu en incrustation.