========================================================================
* IBM(R) IBM Debugger for AIX, Version 6.1
* (C) COPYRIGHT International Business Machines Corp. 2006, 2008
* All Rights Reserved
* Licensed Materials - Property of IBM
*
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
* AIX and IBM are trademarks of IBM Corp.
*
* Other company, product, and service names may be trademarks or service
* marks of others.
========================================================================
|
README - IBM Debugger for AIX, version 6.1
|
IBM Debugger for AIX, Version 6.1 prend en charge le débogage local et à distance des applications C/C++ fonctionnant sur AIX version 5. Les applications fonctionnant sur une machine AIX peuvent être déboguées depuis l'interface utilisateur du débogueur en cours d'exécution sur la même machine ou faire l'objet d'un débogage à distance depuis une autre machine AIX ou Windows.
|
IBM Debugger for AIX comprend deux éléments :
- Un programme de moteur de débogage AIX (irmtdbgc) utilisé pour contrôler et déboguer une application C/C++ sur AIX version 5. Le moteur de débogage doit s'exécuter sur la même machine que l'application à déboguer du fait des interactions existant entre eux.
- Un client d'interface utilisateur (idebug) qui communique avec le moteur et vous permet de déboguer votre application. Vous trouverez une version de idebug, compatible avec les systèmes AIX et Windows. Vous pouvez exécuter le client d'interface utilisateur sur la même machine AIX que le moteur de débogage.
|
Le présent document contient les sections suivantes :
Installation du client AIX
Le client AIX requiert les versions AIX 5.2 (AIX 5200-07 ou version ultérieure) ou AIX 5.3 (AIX 5300-03 ou version ultérieure).
Pour tester la compatibilité de la plateforme d'installation, tapez lscfg -p | fgrep Architecture lors de l'invite système. Vous devriez recevoir la réponse Model Architecture: chrp. Seuls les systèmes Common Hardware Reference Platform (chrp) sont pris en charge.
Le débogage des fonctions suivantes n'est possible que si elles sont présentes dans le matériel ou le système d'exploitation :
- Protocole TLS (Thread Local Storage)
- Format DFP (Decimal Floating Point)
- Types de vecteur
- Processeurs POWER5 et POWER6
Si vous avez installé tous les ensembles de fichiers lors de l'installation des compilateurs XL C/C++, comme indiqué dans la procédure d'installation par défaut du "Guide d'installation IBM XL C/C++ Enterprise Edition for AIX, V9.0", tous les éléments d'IBM Debugger for AIX (client et moteur) sont déjà installés.
Si vous n'avez pas installé tous les ensembles de fichiers lors de l'installation des compilateurs XL C/C++ ou si vous n'avez pas suivi la procédure d'installation par défaut, vous devez installer les éléments d'IBM Debugger for AIX séparément. Pour plus d'informations, voir le paragraphe "Installation du moteur de débogage (irmtdbgc) et du client d'interface utilisateur (idebug) pour AIX" ci-dessous.
Si vous souhaitez utiliser le client d'interface utilisateur IBM Debugger sous Windows, vous devez suivre la procédure indiquée dans le paragraphe "Installation du client d'interface utilisateur (idebug) pour Windows" ci-dessous.
Si vous installez la version complète du produit et non un correctif temporaire, il est préférable de désinstaller l'ancienne version d'IBM Debugger avant d'installer cette version d'IBM Debugger for AIX (voir Désinstallation d'IBM Debugger for AIX).
Installation du moteur de débogage (irmtdbgc) et du client d'interface utilisateur (idebug) pour AIX
Les programmes d'IBM Debugger for AIX se trouvent dans les ensembles de fichiers suivants :
Ensemble de fichiers |
Description |
| ibmdebugger |
Ensemble de fichiers de niveau supérieur qui contient les informations d'installation et de configuration. Comprend les composants du moteur de débogage, les composants du client d'interface utilisateur et les composants d'aide en ligne pour AIX. |
| ibmdebugger.ui |
Interface utilisateur IBM Debugger for AIX. |
| ibmdebugger.engine |
Moteur IBM Debugger for AIX pour le débogage de langage compilé. |
| ibmdebugger.engine.msg.LANG |
Ensembles de fichiers concernant la langue nationale pour le moteur IBM Debugger for AIX. Comprend des fichiers de messages où LANG est l'un des éléments suivants : pt_BR, zh_CN, zh_TW, de_DE, es_ES, fr_FR, it_IT, ja_JP ou ko_KR. |
| ibmdebugger.jre |
Java Runtime Environment (JRE) utilisé avec IBM Debugger for AIX. |
Pour installer les composants IBM Debugger sur AIX ainsi que les ensembles de fichiers correspondant à votre système, entrez les commandes suivantes :
installp -aXgd . -e /tmp/ibmdebugger.install.log ibmdebugger*
Installation du client d'interface client (idebug) pour Windows
Pour installer le client d'interface utilisateur pour Windows :
- Ouvrez une invite de commande et allez au répertoire IBMdebugger\windows\ situé sur le CD du produit.
- A partir du CD du produit, exécutez le programme IBMdebugger\windows\setup.exe, puis suivez les invites à l'écran pour installer le client d'interface utilisateur.
Désinstallation sous Windows
Pour désinstaller le client IBM Debugger for AIX sous Windows, ouvrez le panneau de configuration Windows et sélectionnez Ajouter ou supprimer des programmes. Recherchez et sélectionnez IBM Debugger for AIX. Cliquez sur Supprimer pour démarrer le processus de désinstallation.
Si la désinstallation échoue, vous devez démarrer manuellement le programme de désinstallation en suivant les étapes ci-dessous :
- Ouvrez une invite de commande.
- Modifiez le répertoire (via la commande du CD) en répertoire d'installation IBM Debugger for AIX. Par défaut, le répertoire d'installation est C:\Program Files\IBM\IBM Debugger for AIX.
- Modifiez le répertoire (via la commande du CD) en _jvm\bin.
- Entrez la commande suivante :
java -jar ..\..\_uninst\uninstall.jar
- Le programme de désinstallation va démarrer.
Désinstallation sous AIX
Pour désinstaller le moteur/client IBM Debugger for AIX sous le système AIX, entrez cette commande lorsque vous vous connectez en tant que superutilisateur :
installp -u ibmdebugger*
- Prise en charge de :
- Processeur POWER6
- Registres AltiVec
- Format DFP (Decimal Floating Point)
- Protocole TLS (Thread Local Storage)
- Filtrage de variables locales
- Fonction show_self, qui vous permet d'afficher de manière significative le contenu d'un objet C++
- Evaluation de la fonction C/C++ pour des fonctions ayant une liaison C
- Evaluation de l'expression pour les expressions d'affectation
- Prise en charge de l'affichage des agrégats en une seule ligne
- Prise en charge des caractères de la langue nationale dans la source C/C++
- Fonction Cast-to-Template (transtypage vers un modèle)
- Amélioration du contrôle des variables locales
- Nouvel affichage de la console de débogage (aperçu technique uniquement)
Avant de déboguer un programme, vérifiez que vous avez compilé le programme avec les informations de débogage en utilisant l'option de compilation -g.
Pour commencer une session de débogage, vous devez tout d'abord démarrer le client IBM Debugger sur une machine AIX ou Windows éloignée. Puis, lancez la session de débogage localement ou à distance.
Démarrage du client IBM Debugger
Pour démarrer le client IBM Debugger sous Windows, allez au menu Démarrer de Windows et sélectionnez Tous les programmes > IBM > IBM Debugger for AIX > IBM Debugger for AIX.
Pour démarrer le client IBM Debugger sous AIX, exécutez la commande idebug. Dans un environnement multiutilisateur (où plus d'un utilisateur exécute le client d'interface utilisateur sur la même machine AIX), chaque utilisateur doit sélectionner un numéro de port de démon unique. Pour ce faire, définissez un intervalle de ports de démon dans le client d'interface utilisateur :
- Démarrez le client d'interface utilisateur.
- Cliquez sur la flèche vers le bas figurant en regard de l'icône du démon dans la vue Débogage.
- Entrez un intervalle de ports que le client d'interface utilisateur peut utiliser (les étendues doivent être tapées dans la forme suivante : 8001-8009, par exemple).
- Le client d'interface utilisateur va utiliser le premier port disponible dans l'intervalle.
- Si le moteur de débogage est lancé à partir du client d'interface utilisateur, le port utilisé sera celui que le client d'interface utilisateur a trouvé disponible.
- Si vous lancez le moteur de débogage de manière directe, vous devez définir le port que le client d'interface utilisateur a trouvé.
Lancement du moteur IBM Debugger
Pour déboguer un programme localement, vous pouvez lancer le moteur depuis le client AIX ou depuis la ligne de commande. Pour déboguer un programme éloigné, vous devez lancer le moteur à partir de la ligne de commande AIX.
Pour lancer le moteur depuis le client AIX (débogage local uniquement) :
- A partir du client AIX, sélectionnez Fichier -> Nouveau lancement -> Charger un programme.
- Entrez les informations nécessaires à la recherche et au lancement de votre programme. Vous devez impérativement définir le nom de l'exécutable. Si le programme est introuvable dans votre variable d'environnement PATH en cours, entrez le chemin d'accès complet du programme.
Votre application sera chargée et l'exécution sera suspendue au niveau de la méthode main().
Pour lancer le moteur depuis la ligne de commande (débogage local ou éloigné), exécutez les commandes suivantes :
irmtdbgc [-qhost=<nom de l'hôte>:<port du démon de l'interface utilisateur>] <exécutable><paramètres de l'exécutable>
où :
<port du démon de l'interface utilisateur> représente le numéro de port TCP/IP sur la machine client défini dans les préférences du démon. Par défaut, le numéro de port du démon est 8001. Le port défini pour le moteur doit être un des ports utilisés en mode écoute par l'interface utilisateur.
-qhost=<nom de l'hôte> représente le nom de la machine hôte sur laquelle le client s'exécute. Vous pouvez passer cette option si le client s'exécute sur la même machine, ou si vous avez défini la machine client et le port avec la variable d'environnement DER_DBG_ADDR (voir le paragraphe Moteur de débogage de la section Limitations d'IBM Debugger for AIX).
<exécutable> représente le chemin d'accès complet du programme que vous voulez déboguer.
<paramètres de l'exécutable> représente les paramètres transmis au programme à déboguer.
Le moteur va alors se connecter au client, charger votre programme et l'interrompre lorsqu'il atteindra la méthode main().
Vous pouvez consulter la documentation complète d'IBM Debugger for AIX sur le centre de documentation en ligne accessible depuis le client IBM Debugger.
Pour afficher l'aide : Depuis le client Windows ou AIX, sélectionnez Aide > Table des matières.
Limitations générales :
- Lors de l'application d'un correctif temporaire dans un client Windows, une exception SWT non-interceptée et écrite dans le fichier journal se produit quand vous modifiez la configuration en cours. Vous pouvez ignorer cette exception et continuer à utiliser le plan de travail avec la nouvelle configuration en toute sécurité.
- Lors de l'utilisation du client AIX, quand un rendu est ajouté dans la vue Mémoire, le rendu peut ne pas se placer dans l'adresse de base du bloc de mémoire. Pour contourner ce problème, cliquez avec le bouton droit de la souris sur le rendu et sélectionnez Rétablir l'adresse de base. Ainsi, le rendu se replacera dans l'adresse de base du bloc de mémoire
- Lors de l'utilisation du client AIX, l'aide peut ne pas démarrer si un navigateur Web qui ne fonctionne pas se trouve sur votre chemin d'accès. Pour assurer le fonctionnement des fonctions de l'aide, supprimez les navigateurs Web qui ne fonctionnent pas de votre chemin.
- IBM Debugger for AIX ne transmet pas le nom du programme en tant que paramètre à la commande
idebug.
Moteur de débogage :
- La variable d'environnement du moteur de débogage DER_DBG_PORT est obsolète. L'adresse de l'hôte et le port doivent être définis tels que DER_DBG_ADDR=hôte:port.
- La variable d'environnement DER_DBG_DEEP_STEP_DEBUG est obsolète. Cette variable d'environnement est remplacée par DER_DBG_STEP_DEBUG = [SHALLOW | DEEP] [INCLUDE | NOINCLUDE], où :
- Les valeurs SHALLOW ou DEEP déterminent si la fonction de débogage pas à pas ne recherche les informations de débogage que dans la sous-routine immédiate
(SHALLOW) ou si elle continue jusqu'à ce qu'elle trouve des informations de débogage (DEEP). Par défaut, la valeur est SHALLOW.
Le processus de débogage en mode DEEP peut prendre un certain temps si le programme comprend une grande quantité de code dépourvu d'informations de débogage.
- Les valeurs INCLUDE ou NO_INCLUDE définissent si le
code des fichiers inclus doit être traité comme s'il contenait des informations de débogage lors du débogage pas à pas. Par défaut, la valeur est INCLUDE.
- Les variables d'environnement suivantes ont été ajoutées :
- DER_DBG_BACKGROUND_READ - Par défaut, la valeur est YES. Si la valeur est définie sur NO, le débogueur ne pourra pas lire les informations de débogage du fait de son état de veille. Pour les applications comprenant une grande quantité de données de débogage, il peut être nécessaire de définir la valeur sur NO pour empêcher le débogueur d'utiliser l'espace du segment mémoire.
- DER_DBG_POWER_STEP - S'il est défini sur Y ou YES, le débogueur va ignorer les points d'arrêt lorsqu'il s'exécute en débogage pas à pas. Par défaut, la valeur est définie sur NO.
- DER_DBG_CICS_STEP - Il s'agit d'une variable d'environnement spéciale à utiliser lors du débogage sous CICS. Elle force le débogueur à passer normalement dans le code qui appelle des routines par CICS.
- L'environnement de variable DER_DBG_ NO_LIBPTHDEBUG n'est plus pris en charge.
Centre de documentation
- Erreur HTTP 500 ou code HTML visible dans les résultats de la recherche dans l'aide : Si vous effectuez une recherche dans la documentation en ligne dans la fenêtre Help (Help > Help Contents) et que vous rencontrez l'un des incidents suivants :
- Erreur HTTP 500, avec la description suivante : "Le serveur a rencontré une erreur interne () et ne peut donc pas traiter la demande."
- Balises HTML visibles au début ou à la fin de la liste des résultats de la recherche, par exemple :
<a class="link" id="a113" href="...
Essayez de relancer la même recherche dans la vue Dynamic Help : cliquez sur Help > Dynamic Help ou appuyez sur la touche F1, puis cliquez sur le lien Search en bas de la vue. La recherche dans l'aide dynamique affichera les résultats sous la catégorie Local Help.
- Un clic sur un résultat de la recherche effectuée dans l'aide affiche le code XML : Si vous effectuez une recherche dans la documentation en ligne dans la fenêtre Help (Help > Help Contents), que vous cliquez sur l'un des résultats et qu'un fichier source XML s'affiche à la place d'un texte lisible, relancez votre recherche dans la vue Dynamic Help. Cliquez sur Help > Dynamic Help, puis sur le lien Search en bas de la vue. La recherche dans l'aide dynamique affiche les résultats sous le triangle Local Help. Si vous avez sélectionné le bouton Show result categories, le résultat demandé sera affiché sous une catégorie telle que Welcome (une des catégories parmi celles qui ne s'affichent correctement que dans la vue Dynamic Help).
Limitations dues à la langue nationale :
- Avec la commande
irmtdbgc, vous ne pouvez pas charger un programme dont le nom ou les paramètres comprennent des caractères avec des points de code UCS supérieurs à 255. Ce type de programme peut être chargé localement avec l'action du client AIX Fichier > Nouveau Lancement > Charger un programme.
- Limitations des langues bidirectionnelles (BIDI/BiDi) :
- Dans l'éditeur du débogueur et dans les vues Variable, Moniteurs et Mémoire, l'affichage des mots composés de caractères BIDI et de chiffres peut être incorrecte, de même que la position des chiffres et des caractères BIDI dans le mot.
- Les caractères arabes Lam et Aliph (ou Lam et Alif) l'un à la suite de l'autre, généralement remplacés par une ligature, ne s'affichent pas correctement dans le rendu EBCDIC de la vue Mémoire lorsque vous utilisez CP420. Dans ce cas, utilisez de préférence CP420S.
- La modification d'une variable de chaîne de sorte qu'elle contienne des caractères arabes pouvant occuper une position initiale ou médiane peut faire que la valeur ne peut pas être définie correctement si un espace n'est pas adjacent au caractère initial ou médian. Le caractère initial ou médian peut être perdu.
- Il est impossible d'entrer des chiffres hindis dans les zones édition des vues Variables, Moniteurs et Mémoire.
- Le texte des interfaces utilisateur ajouté au produit suite à l'application d'un correctif temporaire est en anglais uniquement.