Question

En général, je vois le pid du processus qui exécute en arrière-plan et commencer à dbx sur ce processus en utilisant la commande dbx -a <pid>

De même comment pourrais-je le faire en utilisant gdb?

Était-ce utile?

La solution

Il y a deux façons.

À partir de la ligne de commande, y compris le pid comme argument après le nom de l'exécutable:

gdb /path/to/prog PID

De l'intérieur de gdb, vous pouvez utiliser la commande joindre:

gdb /path/to/prog
gdb> attach PID

Alors que la spécification sur la ligne de commande est plus concis, il y a un léger risque que si vous avez un fichier de base qui a un nom qui est le même que le pid (par exemple pour pid 2345, le fichier de base devrait être nommé « 2345 »), puis gdb va ouvrir le fichier de base. Certes, la chance que cela se produise est minuscule.

Autres conseils

En plus de la précédente, vous pouvez utiliser directement

gdb -p <pid>

A partir de la page de manuel gdb:

Vous pouvez, au lieu, spécifiez un ID de processus en tant que second argument, si vous voulez déboguer un processus en cours d'exécution:

gdb program 1234
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top