17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Totalview Débogueur multiprocess - multithreads.

Slides:



Advertisements
Présentations similaires
Été INF1025 Driouch Elmahdi
Advertisements

Formation universitaire à .NET: Introduction à C#
1 HPC et Windows 2003 CCS pour les développeurs Visual Studio 2005.
Abes agence bibliographique de l’enseignement supérieur Les scripts.
GEF 435 Principes des systèmes dexploitation Appels de système (Tanenbaum 1.6)
Chapitre 3: Système d’exploitation
Page 1 Déboguer un programme Java Jacques Lonchamp.
Objectif de l’exposé.
C.
Introduction à MPI 13 – 16 Décembre 2005 Laurence Viry.
Outils de développements
! 1 CREATION D'UNE MAQUETTE EXPORT / IMPORT
Module 3.Adapter son portail Netvibes à ses besoins
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
Assistance à distance Parfois on se sent bien seul face à un problème informatique surtout si on n’est qu’un simple utilisateur. Lorsqu'un problème survient.
Prise en main rapide... Ou comment commencer avec RevisAudit ?
Systèmes d’exploitation
Commission scolaire des Laurentides
Firebug Dévermineur Debugger.
Module II : Les logiciels
Principes de programmation (suite)
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Traitement de texte ++.
Recherche avancée multi-champs EBSCOhost
CLUB DES UTILISATEURS SAS DE QUÉBEC
1 Threads et Lightweight Processes Chapitre 5 En français on utilise parfois flots ou fils pour threads. Votre manuel préfère le mot anglais thread : terminologie.
LOGICIEL PL7 MICRO PROGRAMMATION MISE AU POINT Consignes?
A la découverte de la bureautique et des fichiers.
FICHIERS : Définition : Algorithme général:
Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique et de génie logiciel Développer.
Développer en C avec Eclipse Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique.
INSCRIPTION AUX ELEMENTS
Présentation de l’outil INDICO
Les devis Les devis texte.
CSI3531 – Labo 1 Lobservation du comportement de processus.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Programmation Système et Réseau (sous Linux)
JavaScript Nécessaire Web.
B.Shishedjiev -Débogueur1 Déboguer? Comment trouver et corriger les erreurs?
Gestion des fichiers et dossiers
Pourquoi est-il nécessaire d'installer de nouveaux logiciels sur votre ordinateur ? J'exclus de cette présentation l'installation de nouveaux matériels.
Créer des packages.
1 INFOR 101 Chapitres 5 et 6 Marianne Morris. 2 Discussion du devoir # 2 La solution du devoir No. 2 est à la page Web du cours!
© 2012 Microsoft Corporation. Tous droits réservés. Planifier une réunion Lync Si vous utilisez Outlook, vous pouvez planifier une réunion Lync à l’aide.
Introduction à Visual Studio C++ (VC++)
Ressources Electroniques d’Oxford University Press.
Programmation Système et Réseau
CSI 3525, Implémentation des sous-programmes, page 1 Implémentation des sous-programmes L’environnement dans les langages structurés en bloc La structure.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
ISBN Chapitre 10 L'implémentation des sous- programmes.
AFPA CRETEIL 14-1 Windows NT Environnement des utilisateurs Chapitre 14.
1 Système d’exploitation Les scripts csh 1 ère Année Année Tienté HSU.
Comprendre l’ergonomie du module STSWEB. La page d’accueil de STSWEB Code et Nom de l’établissement Version du module Campagne en cours Année affichée.
Patricia Renault UPMC 2005/2006
1 Cpt JAVA : Eclipse (bis) Debogage. 2 Code à tester public class siecle { int t; public siecle() { super(); t=1; } static public boolean vrai() { return(false);
Conception des pages Web avec
Le réseau informatique du CVM Extrait du site web du CVM Réf: Présentation du milieu.
1.1: notions de bases de l’informatique
CHAPITRE 10 Les sous-programmes 1. Sous-programme Suite d’instructions appelée de manière répétitive Par un programme Par plusieurs programmes distincts.
Dreamweaver Séance 1.
1 Présentation de DREAMWEAVER (1) Gaël TREMEAU GI05 Printemps 2006.
DREAMWEAVER SEANCE 1 Axel JACQUET GM05 – Julien VAN MOORLEGHEM GM05 A2008 Écriture interactive & multimédia Présentation Dreamweaver 8.
Formation.
Flash – séance 2 Interactions avec Action Script.
© 2010 Sage - Tous droits réservés 1 SIGMA Atelier Découvertes Ergonomie et Prise en Main SAGE ERP X3 Version 6.
1 er séance SI28 A2004 YIN Lei Emmanuel Eugene. Plan de l’exposé  Introduction au HTML  Le HTML dans le bloc-notes (notepad)  Présentation de Dreamweaver.
Padlet, un mur collaboratif Mode d’emploi
Installation du PGI – CEGID
Abes agence bibliographique de l’enseignement supérieur Les scripts.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – LES PROCESSUS SOUS UNIX.
Transcription de la présentation:

17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Totalview Débogueur multiprocess - multithreads

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

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:

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

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

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 …

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

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

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

Variable Window À la demande de visualisation dune variable Édite les informations sur une variable visualisation modification

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

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

Process Window > View Menu > … Visualisation du source Dune fonction Source et code assembleur

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)

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

Visualiser les informations concernant un objet

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

Visualiser le contenu et ladresse de variables Modifier une variable

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 …

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

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

17-21 Octobre 2005 Formation Continue – CNRS Laurence Viry Références « Home page » de Totalview Tutoriaux, Quick_Reference et User-Guide view/Main.html Tips-of-the–Week Nouveautés