Chargement...
 

Debuguer sous Linux

Présentation

  • Description : Cette formation fait le tour des outils de débogage sous Linux C/C++
  • Objectifs :
    • Savoir débuguer ou analyser le comportement d'un programme sous équipement Linux

Public

  • Public :
    • Développeurs informatiques
  • Prérequis :
    • Connaître le C ou les C++

Organisation matérielle

  • Durée : 2 jours (14 heures)
  • Horaires : 9h00-12h00 13h00-17h00
  • Rythme : Continue ou fragmentée
  • Mode : Inter ou intra entreprise
  • Lieu : Sur site ou en centre de formation

Environnement

  • Moyens pédagogiques : Document de support de cours en PDF (210 pages) + document PDF correction d'exercices (2 exercices)
  • Moyens techniques :
    • PC sous Linux
  • Moyen humains : Développeur diplômé troisième cycle plus de dix ans d'expérience en développement et formation

Garanties qualités

  • Contrôle de la bonne exécution : Fiche d'appréciation remplie par les stagiaires
  • Méthode d'évaluation : Fiche d'évaluation

Programme

Linux

Compilateurs C et C++

  • Les compilateurs C et C++
  • Le compilateur GCC (suite)
  • Usage
  • Les étapes de compilation

Options du compilateur

  • Options
  • Optimisations
  • Exemples
  • Mécanisme de Warning
  • Quelques Warnings utiles :

Les librairies

  • Librairies
  • Édition de lien
  • Utilisation des librairies
  • Utilisation de librairie C en C++
  • Installation des paquetages dev

Les binutils

  • Les binutils
  • Binutils (suite)

Problèmes

Mémoire

  • Organisation de la mémoire
  • Dépassements de tableaux

Problèmes de cadrage des informations

  • Initialisation
  • Différence de taille en mémoire
  • Exemple,Problèmes d'alignement

Perte de mémoire

  • Allocation
  • Garbage collector

Profilage sans source

strace et ltrace

  • Présentation de strace et ltrace
  • Intérêt de ltrace et strace
  • Options communes de ltrace et strace
  • strace avec option -e
  • strace : résultat statistique

La mémoire

  • Rappels sur la mémoire
  • La commande free
  • vmstat
  • vmstat : Les champs non explicites

lsof, netstat

  • smem et pmap
  • lsof
  • lsof : exemples

Utiliser gdb

Premiers pas

  • Présentation de gdb
  • Principe gdb
  • Signals
  • Revenir en arrière
  • La pile d'appel

Affichage des variables

  • Modification du contexte
  • print variable
  • Autres affichages
  • Printf dynamique
  • Break avec liste de commandes

Debug graphiques

ddd

  • Clic droit dans le code source
  • La fonction Display
  • La fonction plot

Eclipse cdt

  • Présentation
  • Ajout de points d'arrêt
  • Propriété du projet en mode Debug
  • Accès à la perspective Debug
  • Perspective Debug

Cas avancés

Debuguer un programme en exécution

  • Contraintes
  • Sous gdb ou ddd
  • Cas de ddd
  • Cas d'Eclipse

Debuguer plusieurs programmes simultanément

  • Sélection de la frame comprenant les sources
  • Exposé

Debuguer via un core dump

  • Cas d'Eclipse et de ddd
  • Debug après plantage : core dump
  • Tuning de génération du core
  • Technique de débugage du core

Debuguer à distance

  • Debugage du core via Eclipse
  • Debug croisé
  • Installation sur l'équipement distant
  • Mise en route sur l'équipement host
  • Remarques sur le debug croisé
  • Mise en oeuvre sur Eclipse

Valgrind

Présentation

  • Fonctionnalités
  • Diverses informations
  • Installer Valgrind
  • Philosophie d'utilisation
  • Suppression de messages

Exemples

  • Recommandations
  • Programme C : dépassement de mémoire
  • Résultat
  • Exemple de programme

Profile de code

  • Deux compilations
  • Définition
  • Avec Valgrind
  • Valgrind dans QtCreator

Electric Fence

Présentation

  • Introduction
  • Installation
  • Utilisation
  • Exemple sur un programme C fautif
  • Compilation du programme C

Utilisation

  • Débugage sous gdb
  • Exemple de programme C++ fautif
  • Compilation du programme
  • Débugage

CLang

Présentation de LLVM et CLang

  • Présentation de LLVM
  • Présentation de Clang
  • Principaux Checkers de Clang

Clang en pratique

  • Clang dans QtCreator


Dates et tarifs

Inter entreprises

Intra entreprise

  • Région parisienne : 2600 HT
  • Autres zones : 2600 HT + Frais de déplacement
  • Dates : Consultez moi

Centres de formation partenaires

Changer de langue

Anglais (English, en)Français (fr)

Recherche