Scroll to navigation

COREDUMPCTL(1) coredumpctl COREDUMPCTL(1)

NOM

coredumpctl – Récupération et traitement des métadonnées et des vidages mémoire enregistrés

SYNOPSIS

coredumpctl [OPTIONS...] {COMMANDE} [PID|COMMANDE|EXE|CORRESPONDANCE...]

DESCRIPTION

coredumpctl est un outil pouvant être utilisé pour la récupération et le traitement de vidages mémoire (clichés mémoire/système, core dump) et des métadonnées enregistrés par systemd-coredump(8).

COMMANDES

Les commandes suivantes sont acceptées :

list

Lister les vidages mémoire capturés dans le journal correspondant aux caractéristiques spécifiées. Si aucune commande n’est indiquée, c’est le comportement par défaut.

La sortie est conçue pour être lisible humainement et contient une table comportant les colonnes suivantes :

TIME

L’horodatage du plantage tel que rapporté par le noyau.

Ajouté dans la version 233.

PID

L’identifiant du processus ayant planté.

Ajouté dans la version 233.

UID, GID

Les identifiants d’utilisateur et de groupe du processus ayant planté.

Ajouté dans la version 233.

SIGNAL

Si applicable, le signal ayant causé le plantage du processus.

Ajouté dans la version 233.

COREFILE

Information indiquant si le vidage mémoire a été stocké et s’il est toujours accessible : « none » signifie qu’il n’a pas été stocké, « - » signifie qu’il n’est pas disponible (par exemple, parce que le processus n’a pas été terminé par un signal), « present » signifie qu’il est accessible par l’utilisateur actuel, « journal » signifie qu’il a été stocké dans le « journal », « truncated » est similaire à une des deux précédentes, mais indique que le vidage était trop grand et qu’il n’a pas été stocké entièrement, « error » signifie qu’il n’est pas possible d’y accéder très vraisemblablement à cause de permissions insuffisantes et « missing » signifie qu’il a été stocké dans un fichier, mais que ce fichier a été supprimé depuis.

Ajouté dans la version 233.

EXE

Le chemin complet de l’exécutable. Pour les traces d’appel de script, c’est le nom de l’interpréteur.

Ajouté dans la version 233.

Il convient de noter que des restrictions différentes s’appliquent aux données enregistrées dans le journal et aux fichiers de vidage mémoire enregistrés dans /var/lib/systemd/coredump ; voir la présentation générale dans systemd-coredump(8). Il peut donc très bien arriver qu’un vidage mémoire particulier figure toujours dans le journal alors que le fichier de vidage mémoire correspondant a déjà été supprimé.

Ajouté dans la version 215.

info

Afficher des informations détaillées sur le dernier vidage mémoire ou sur les vidages mémoire correspondant aux caractéristiques spécifiées, capturées dans le journal.

Ajouté dans la version 215.

dump

Extraire le dernier vidage mémoire correspondant aux caractéristiques spécifiées. Le vidage mémoire est écrit sur la sortie standard à moins qu’un fichier de sortie soit indiqué avec l’option --output=.

Ajouté dans la version 215.

debug

Invoquer un débogueur pour le dernier vidage mémoire correspondant aux caractéristiques spécifiées. Par défaut, gdb(1) est utilisé. Cela peut être modifié en utilisant l’option --debugger= ou la variable d’environnement $SYSTEMD_DEBUGGER. Utiliser l’option --debugger-arguments= pour passer des arguments supplémentaires au débogueur.

Ajouté dans la version 239.

OPTIONS

Les options suivantes sont comprises :

-h, --help

Afficher un aide-mémoire succinct et quitter.

--version

Afficher une information de version courte et quitter.

--no-pager

Ne pas rediriger (pipe) la sortie vers un afficheur (pager).

--no-legend

Ne pas afficher de légende, c'est-à-dire les en-têtes de colonne et le pied de page contenant des remarques.

--json=MODE

Afficher la sortie formatée en JSON. Le mode attendu est « short » (pour la sortie la plus concise possible sans redondance d’espace ou de saut de ligne), « pretty » (pour une plus jolie version de la même chose avec indentation et sauts de ligne) ou « off » (pour désactiver la sortie JSON, comportement par défaut).

-1

Afficher des informations à propos du vidage mémoire le plus récent plutôt que de lister tous les vidages mémoire connus. C’est équivalent à --reverse -n 1.

Ajouté dans la version 215.

-n ENTIER

Afficher le nombre indiqué d’entrées. Le paramètre indiqué est un entier supérieur ou égal à 1.

Ajouté dans la version 248.

-S, --since

Afficher les entrées existant depuis la date indiquée.

Ajouté dans la version 233.

-U, --until

N’afficher que les entrées antérieures à la date indiquée.

Ajouté dans la version 233.

-r, --reverse

Inverser la sortie de manière que les enregistrements les plus récents soient affichés en premier.

Ajouté dans la version 233.

-F CHAMP, --field=CHAMP

Afficher toutes les valeurs possibles des données que prend le champ spécifié dans les entrées correspondantes de vidage mémoire du journal.

Ajouté dans la version 215.

-o FICHIER, --output=FICHIER

Enregistrer le vidage mémoire dans FICHIER.

Ajouté dans la version 215.

--debugger=DÉBOGUEUR

Utiliser le débogueur indiqué pour la commande debug. S’il n’est pas indiqué et que la variable d’environnement $SYSTEMD_DEBUGGER n’est pas définie, alors gdb(1) est utilisé.

Ajouté dans la version 239.

-A ARGS, --debugger-arguments=ARGS

Passer les ARGS comme arguments supplémentaires de la ligne de commande au débogueur. Mettre entre des guillemets appropriés quand ARGS contient des blancs (voir Exemples).

Ajouté dans la version 248.

--file=GLOB

Cette option prend des métacaractères (glob) de fichier comme argument. Si spécifié, coredumpctl opère sur les fichiers de journal correspondant au GLOB au lieu des chemins par défaut de journaux d’exécution. Cette option peut être spécifiée plusieurs fois, auquel cas les fichiers seront correctement entrelacés.

Ajouté dans la version 246.

-D RÉP, --directory=RÉP

Utiliser les fichiers de journal dans le RÉP spécifié.

Ajouté dans la version 225.

--root=RACINE

Utiliser le répertoire racine RACINE lors de la recherche de vidages mémoire.

Ajouté dans la version 252.

--image=image

Cette option prend un chemin d’image disque ou un nœud de périphérique bloc. Si elle est indiquée, toutes les opérations sont effectuées dans le système de fichiers de l’image disque indiquée. Cette option est similaire à l’option --root=, mais agit sur des systèmes de fichiers stockés dans des images disque ou des périphériques blocs. L’image disque doit contenir soit un seul système de fichiers, soit un ensemble de systèmes de fichiers d’une table de partitionnement GPT, suivant les Spécifications UAPI.2 des Partitions Détectables[1]. Pour de plus amples informations sur les images disque gérées, consulter l’option de systemd-nspawn(1) de même nom.

Ajouté dans la version 252.

--image-policy=politique

Cette option prend pour argument une chaine de politique d’image, comme pour systemd.image-policy(7). La politique est imposée lors d'une opération sur l'image disque indiquée par --image=, voir ci-dessus. La politique par défaut est « * » si rien n'est indiqué, c'est-à-dire que tous les systèmes de fichiers reconnus de l'image sont utilisés.

-q, --quiet

Supprimer les messages informationnels concernant l’impossibilité d’accéder aux fichiers de journal et aux possibles vidages mémoire en cours.

Ajouté dans la version 233.

--all

Regarder tous les fichiers de journal disponibles dans /var/log/journal/ (en excluant les espaces de noms de journal) au lieu de ne regarder que les fichiers locaux.

Ajouté dans la version 250.

CORRESPONDANCE

Une correspondance peut être :

PID

Identifiant de processus du processus ayant généré un vidage mémoire. Un entier.

Ajouté dans la version 215.

COMM

Nom de l’exécutable (correspond à COREDUMP_COMM=). Ne doit pas contenir de barre oblique.

Ajouté dans la version 215.

EXE

Chemin de l’exécutable (correspond à COREDUMP_EXE=). Doit contenir au moins une barre oblique.

Ajouté dans la version 215.

MATCH

Filtre général des correspondances de journalctl ; doit contenir un signe égal (« = »). Consulter journalctl(1).

Ajouté dans la version 215.

CODE DE RETOUR

En cas de réussite, 0 est renvoyé, un code d'échec différent de zéro sinon. Ne trouver aucun vidage mémoire correspondant est traité comme un échec.

ENVIRONNEMENT

$SYSTEMD_DEBUGGER

Utiliser le débogueur indiqué pour la commande debug. Voir l’option --debugger=.

Ajouté dans la version 239.

EXEMPLES

Exemple 1. Liste de tous les vidages mémoire d’un programme

$ coredumpctl list /usr/lib64/firefox/firefox
TIME       PID  UID  GID SIG     COREFILE EXE                         SIZE
Tue ...   8018 1000 1000 SIGSEGV missing  /usr/lib64/firefox/firefox     -
Wed ... 251609 1000 1000 SIGTRAP missing  /usr/lib64/firefox/firefox     -
Fri ... 552351 1000 1000 SIGSEGV present  /usr/lib64/firefox/firefox 28.7M

Le journal a trois entrées relatives à /usr/lib64/firefox/firefox, et seule la dernière entrée a encore un fichier de vidage mémoire disponible (dans un stockage externe sur disque).

Notez que coredumpctl doit pouvoir accéder aux fichiers de journal pour récupérer les entrées pertinentes dans le journal. Par conséquent, un utilisateur non privilégié ne pourra normalement voir que les informations concernant des plantages de programme de cet utilisateur.

Exemple 2. Invoquer gdb sur le dernier vidage mémoire

$ coredumpctl debug

Exemple 3. Utiliser gdb pour afficher les informations complètes de registre dans le dernier vidage mémoire

$ coredumpctl debug --debugger-arguments="-batch -ex 'info all-registers'"

Exemple 4. Afficher les informations concernant un vidage mémoire correspondant au PID

$ coredumpctl info 6654

PID: 6654 (bash)
UID: 1000 (user)
GID: 1000 (user)
Signal: 11 (SEGV)
Timestamp: Mon 2021-01-01 00:00:01 CET (20s ago)
Command Line: bash -c $'kill -SEGV $$'
Executable: /usr/bin/bash
Control Group: /user.slice/user-1000.slice/...
Unit: user@1000.service
User Unit: vte-spawn-....scope
Slice: user-1000.slice
Owner UID: 1000 (user)
Boot ID: ...
Machine ID: ...
Hostname: ...
Storage: /var/lib/systemd/coredump/core.bash.1000.....zst (present)
Size on Disk: 51.7K
Message: Process 130414 (bash) of user 1000 dumped core.
Stack trace of thread 130414:
#0 0x00007f398142358b kill (libc.so.6 + 0x3d58b)
#1 0x0000558c2c7fda09 kill_builtin (bash + 0xb1a09)
#2 0x0000558c2c79dc59 execute_builtin.lto_priv.0 (bash + 0x51c59)
#3 0x0000558c2c79709c execute_simple_command (bash + 0x4b09c)
#4 0x0000558c2c798408 execute_command_internal (bash + 0x4c408)
#5 0x0000558c2c7f6bdc parse_and_execute (bash + 0xaabdc)
#6 0x0000558c2c85415c run_one_command.isra.0 (bash + 0x10815c)
#7 0x0000558c2c77d040 main (bash + 0x31040)
#8 0x00007f398140db75 __libc_start_main (libc.so.6 + 0x27b75)
#9 0x0000558c2c77dd1e _start (bash + 0x31d1e)

Exemple 5. Extraire le dernier vidage mémoire de /usr/bin/toto dans un fichier toto.coredump

$ coredumpctl -o toto.coredump dump /usr/bin/toto

VOIR AUSSI

systemd-coredump(8), coredump.conf(5), systemd-journald.service(8), gdb(1)

NOTES

1.
UAPI.2 Spécification des Partitions Détectables

TRADUCTION

La traduction française de cette page de manuel a été créée par Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

systemd 262.1