Commande kdb

Objectif

Permet l'examen d'un système ou d'un cliché en direct ou d'un noyau en cours d'exécution.

Syntaxe

kdb -h 
kdb [ -c CommandFile ] [ -cp ] [ -i HeaderFile ] [ -l ] [ -script ] -w -u  KernelFile
kdb [ -c CommandFile ] [ -cp ] [ -i HeaderFile ] [ -l ] [ -script ] [ -v ] [  SystemImageFile [  KernelFile [KernelModule ... ]]]
kdb [ -c CommandFile ] [ -cp ] [ -i HeaderFile ] [ -l ] [ -script ] [ -v ] [ -m  SystemImageFile ] [ -u  KernelFile ] [ -k KernelModule ]

Descriptif

La commande 'kdb est un utilitaire interactif permettant d'examiner une image du système d'exploitation ou le noyau en cours d'exécution. La commande " kdb interprète et formate les structures de contrôle du système et fournit diverses fonctions pour l'examen d'un dump.

Des droits de racine sont nécessaires pour utiliser la commande " kdb sur le système actif, car le fichier spécial " /dev/pmem est utilisé. Pour exécuter la commande " kdb sur le système actif, tapez ce qui suit :
kdb
Remarque: La fonction de trace de pile du processus en cours sur un système en cours d'exécution ne fonctionne pas.
Pour invoquer la commande 'kdb sur un fichier image système, tapez ce qui suit :
kdb SystemImageFile

Lorsque kdb démarre, il recherche un fichier " .kdbinit dans le répertoire personnel de l'utilisateur et dans le répertoire de travail actuel. Si un fichier " .kdbinit existe dans l'un de ces emplacements, la commande " kdb exécute toutes les commandes contenues dans le fichier comme si elles avaient été saisies à l'invite interactive de kdb. Si un fichier " .kdbinit existe à ces deux endroits, le fichier du répertoire d'origine sera traité en premier, suivi du fichier du répertoire de travail actuel (sauf si le répertoire actuel est le répertoire d'origine, auquel cas le fichier n'est traité qu'une seule fois).

Indicateurs

Tableau 1. Indicateurs
Article Descriptif
-c CommandFile Indique un nom différent pour le fichier script de démarrage. Si cette option est utilisée, kdb recherche le paramètre CommandFile dans les répertoires home et current au lieu du fichier '.kdbinit
-cp Permet à kdb d'imprimer chaque commande dans les fichiers script de démarrage lorsque la commande est exécutée. Cela peut être utilisé pour aider à déboguer les fichiers '.kdbinit, ou tout autre fichier spécifié avec le drapeau '-c Chaque commande est imprimée avec un signe plus (+) devant elle.
-h Affiche un court message d'aide en ce qui a trait à l'utilisation de la ligne de commande et une brève liste des options de ligne de commande disponibles.
-i HeaderFile Rend toutes les structures C définies dans le paramètre HeaderFile disponibles pour être utilisées avec la sous-commande kdb 'print Cette option requiert l'installation d'un compilateur C sur le système. Si la variable HeaderFile a besoin de fichiers " .h supplémentaires pour la compilation, il peut être nécessaire de les spécifier avec des options " -i distinctes.
module-k Demande à la commande 'kdb d'utiliser le paramètre Module spécifié comme module supplémentaire du noyau pour résoudre les définitions de symboles qui ne se trouvent pas dans le noyau lui-même. L'utilisation de cette option équivaut à spécifier le module du noyau avec le paramètre KernelModule.
-l Désactive le pager en ligne (c'est-à-dire l'invite more (^C to quit) ? ) dans kdb. Dans ce cas, la sous-commande " set scroll de kdb n'a aucun effet et le téléavertisseur en ligne est toujours désactivé, quel que soit le paramètre de défilement.
-m Image Demande à la commande " kdb d'utiliser le paramètre Image spécifié comme fichier image du système. L'utilisation de cette option équivaut à spécifier le fichier image du système avec le paramètre SystemImageFile.
-script Désactive le pager en ligne (c'est-à-dire l'invite more (^C to quit) ? ) et désactive l'impression de la plupart des informations de statut lorsque kdb démarre. Cette option facilite l'analyse de la sortie de la commande 'kdb par les scripts et autres programmes qui agissent comme une interface pour kdb.
-u Noyau Demande à la commande " kdb d'utiliser le noyau spécifié comme fichier de noyau pour la résolution des définitions de symboles. L'utilisation de cette option équivaut à spécifier le noyau avec le paramètre KernelFile.
-v Affiche une liste de toutes les tables de vidage des composants (CDT) dans le fichier de vidage lorsque la commande " kdb " démarre. Les CDT répertores les régions de mémoire qui sont effectivement incluses dans le vidage. Si la commande " kdb est utilisée sur un système actif, cette option est ignorée.
-w Il examine un fichier de noyau directement à la place d'une image système. Toutes les sous-commandes 'kdb qui affichent normalement des emplacements de mémoire à partir du fichier image du système liront à la place les données directement à partir de KernelFile. Les sous-commandes qui écrivent de la mémoire ne sont pas disponibles.

Paramètres

Tableau 2. Paramètres
Article Descriptif
KernelFile Spécifie le noyau AIX que la commande 'kdb utilise pour résoudre les définitions de symboles du noyau. Un fichier de noyau doit être disponible. Lors de l'examen d'un cliché, le fichier de noyau doit être le même que le noyau utilisé pour prendre le système ou le vidage en direct. La valeur par défaut est /unix.
KernelModule Indique les noms de fichier des modules de noyau supplémentaires utilisés par kdb pour résoudre les définitions de symbole non trouvées dans le fichier de noyau lui-même.
SystemImageFile Indique le fichier qui contient l'image système. La valeur peut indiquer un vidage du système ou un vidage en direct, le nom d'un périphérique de vidage ou le fichier spécial " /dev/pmem. La valeur par défaut est " /dev/pmem.

Exemples

Les exemples suivants illustrent les options d'invocation de la commande " kdb

  1. Pour invoquer la commande 'kdb avec les fichiers d'image système et d'image noyau par défaut, tapez ce qui suit :
    kdb

    Le programme " kdb renvoie une invite (0)> et attend la saisie d'une sous-commande.

  2. Pour appeler la commande 'kdb à l'aide d'un fichier dump nommé '/var/adm/ras/vmcore.0 et du fichier du noyau UNIX nommé '/unix, tapez ce qui suit :
    kdb /var/adm/ras/vmcore.0 /unix

    Le programme " kdb renvoie une invite (0)> et attend la saisie d'une sous-commande.

  3. Pour invoquer la commande 'kdb à l'aide d'un fichier de vidage nommé '/var/adm/ras/livedump/trc1.nocomp.200705222009.00 et du fichier du noyau '/unix, tapez ce qui suit :
    kdb /var/adm/ras/livedump/trc1.nocomp.200705222009.00
    Note : Le fichier du noyau par défaut est '/unix. Contrairement à un cliché système, dans un cliché actif, seules les données sélectionnées sont présentes. Par exemple, seules les données d'unité d'exécution de noyau pour les unités d'exécution explicitement incluses dans le vidage sont présentes.

Fichiers

Tableau 3. fichiers
Article Descriptif
/usr/sbin/kdb Contient la commande " kdb.
/dev/pmem Fichier image système par défaut.
/unix Fichier de noyau par défaut.