Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parAncel Imbert Modifié depuis plus de 10 années
1
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Totalview Débogueur multiprocess - multithreads
2
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Quest ce que Totalview Avantages sur les débogueurs classiques UNIX: dbx, gdb, adb Adaptés sur les principales plates-formes UNIX Accès aux informations faciles grâce à linterface utilisateur Adapté à la majorité des modèles de programmation parallèles multi-threads (OpenMP,Thread) multi-process (MPI,PVM) HPF Fork/exec Shmem
3
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Les avantages de Totalview Permet de déboguer un ou plusieurs programmes sur le réseau Possibilité dajouter ou de modifier du code en cours de session de déboguage Support pour les langages C/C++ et Fortran90 et des appels mixes à ces deux langages Peut être raccordé à un processus en cours Déboguage des accès et de lallocation mémoire sur la nouvelle version 6.3 Difficile problème de la mauvaise désallocation mémoire … Site: www.etnus.com
4
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Démarrer Totalview Environnement : Variable PATH : localisation de lexécutable setenv TOTALVIEW_DIR=/usr/local/totalview.5.0 setenv PATH $PATH:${TOTALVIEW_DIR}/bin Variable MANPATH setenv MANPATH $MANPATH: ${TOTALVIEW_DIR}/man Variable LM_LICENSE_FILE : localisation du fichier de license setenv LM_LICENSE_FILE ${TOTALVIEW_DIR}/license.dat Compilation : -g : le compilateur génère les informations nécessaires au déboguage (table des symboles) Sans –g: on ne peut visualiser que lassembleur
5
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Démarrer Totalview (suite) Exécuter : Déboguer un exécutable: totalview puis charger lexécutable totalview totalview filename –a args totalview filename –remote hostname [:port] Attacher à un processus en cours Déboguer un fichier « core » totalview filename corefile Modifier lapparence et les actions par défaut totalview filename –bg blue –fg white –fn 9x15 Voir Totalview Users Guide
6
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Principales fenêtres Totalview Root Window: donne une vue densemble du programme (process, threads,…) Process Window: Information sur un process ou un thread Stack Trace Stack frame Source du thread ou du process concerné Variable Window: fournit ladresse, le type et la valeur des variables locales, statiques ou globales et permet leur modification …
7
Root Window Attached Page Machine sur laquelle il tourne Identificateur du processus Statut du code Nom du programme ou du processus Nom des threads associés Attached Page : liste des processus qui ne sont pas en cours de déboguage. Groupe : liste des groupes de processus/threads associés au programme Log : log des informations de la phase de déboguage
8
Stack Trace : liste appels … Stack Frame : variables locales registres paramètres… Source Pane: source indice des lignes points darrêt … Action Points: point darrêt barrière de synchro watchpoint evaluation point … Threads : threads du process … 5 fenêtres Process Window
9
state code description B stop at breakpoint E stop because of an error Hin a hold state Iidle K thread is executing within the kernel M some thread are running and some not Rrunning Ssleeping Tthread is stopped Wat a watchpoint Z process in « zombie » state
10
Variable Window À la demande de visualisation dune variable Édite les informations sur une variable visualisation modification
11
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Usage de la souris BoutonActionDescription gauchesélection simple click: sélectionne double click: dive in milieupaste Écrit une information préalablement copiée droitcontexte Édite de menu associé à lobjet sélectionné 2 types de menus : Pull-down menu : menus en entête de fenêtre Activé en clickant sur le bouton gauche dun objet Pop-up menu : activé en clickant sur un objet avec le bouton droit
12
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Totalview : Fonctions de base Visualisation du source et du code assembleur Visualisation du source dune fonction Mise en place de point darrêt Contrôle de lexécution Démarrer et arrêter lexécution Exécuter la prochaine instruction ou jusquun point darrêt Visualiser un objet (pointeur, variable, tableau…) Visualiser et modifier une variable (variable, tableau…) Utiliser un éditeur de texte Sauvegarder le contenu dune fenêtre Consulter laide en ligne
13
Process Window > View Menu > … Visualisation du source Dune fonction Source et code assembleur
14
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Point darrêt Plusieurs méthodes – la plus simple Cliquer sur la ligne du code source avec le bouton gauche de la souris Visualiser les points darrêt Options associées à un point darrêt (programme parallèle)
16
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Contrôle de lexécution dun programme commandedescription GoDémarre lexécution HaltSuspend lexécution Next Exécute la prochaine instruction Une fonction est une instruction StepExécute la prochaine instruction OutExécute le reste dune fonction Run toExécute jusquà la ligne indiquée Hold/releaseSuspend lexécution dun thread ou dun processus RestartRedémarre un processus
17
Visualiser les informations concernant un objet
18
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Visualiser et modifier une donnée Visualiser Variable: Process Window> View Menu > lookup variable Registre : Process Window – Stack Frame Pane Adresse mémoire Instruction machine Modifier Ouvrir la fenêtre associée
19
Visualiser le contenu et ladresse de variables Modifier une variable
20
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Programme Multi-process Groupe de process ou groupe de threads Une fenêtre pour chaque process Partage des points darrêt entre plusieurs process Barrière de synchronisation Pas à pas sur un groupe de process ou un groupe de threads Table de symboles multiple …
21
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Programme Multi-threads Partage lespace dadressage Chaque thread a son propre contexte dexécution(flooting point registers,…) Permet à un thread davoir des données privées Chaque thread a un espace propre pour la stack La méthode dimplémentation des threads différent sur les OS, Totalview implémente un modèle général dadressage et de contexte dexécution
22
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Action en cours dexécution On peut positionner, détruire, activer, désactiver des actions sur des lignes de codes Point darrêt Barrière de synchronisationsur un group de threads ou de process Point darrêt conditionnel Ajout dinstructions par du code Watchpoints
23
17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Références « Home page » de Totalview http://www.etnus.com/Products/Totalview/index.html Tutoriaux, Quick_Reference et User-Guide http://www.etnus.com/Support/docs/ http://www.llnl.gov/computing/tutorials/workshops/total view/Main.html http://www.llnl.gov/icc/lc/DEGTV-QRC.html Tips-of-the–Week http://www.etnus.com/Support/Tips/index.html Nouveautés http://www.llnl.gov/icc/DEG/TV.html
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.