PTRACE_ATTACH pas autorisé pour
Pour une raison que je ne suis pas en mesure de joindre à ma propre processus?! Fonctionne très bien si j'essaie strace
en tant que root.
$ ./list8 &
[1] 3141
$ child4 starts...
$ strace -p 3141
attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted
Could not attach to process. If your uid matches the uid of the target
process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
again as the root user. For more details, see /etc/sysctl.d/10-ptrace.conf
$ cat /proc/sys/kernel/yama/ptrace_scope
1
En cours d'exécution sur lubuntu 13.10
Linux goal 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:19:42 UTC 2013 i686 i686 i686 GNU/Linux
Alors comment gdb
joindre à l'utilisateur des processus sans avoir à muck autour avec les paramètres du noyau (ptrace_scope
)??
OriginalL'auteur user2705045 | 2013-08-21
Vous devez vous connecter pour publier un commentaire.
Ressemble vous avez répondu à votre propre question -- vous avez ptrace_scope mis à 1, donc vous ne pouvez trace directe des enfants. Pour permettre le traçage de tout processus appartenant au même utilisateur, mettre à 0. Il est aussi requis pour utiliser le gdb
attach
commande.LIRE /etc/sysctl.d/10-ptrace.fichier conf de votre message d'erreur suggéré...
crée un enfant. Avec ptrace_scope 1, vous ne pouvez joindre qu'à des enfants, vous en fourche directement (pas de petits-enfants ou frères et sœurs)
OriginalL'auteur Chris Dodd
Si strace échoue en tant que root, essayez de vérifier si...
gdb
oustrace
est pas en cours d'exécution en arrière-plan (c'était mon cas).Commande:
ps aux | grep "gdb\|strace"
OriginalL'auteur Lukasz Czerwinski
Si cela échoue en tant que root, j'ai eu un problème stracing enlightenment (e17) et la raison en est que vous ne pouvez pas strace un processus déjà en cours de straced ou exécuter sous gdb, certains programmes ne de sorte qu'ils peuvent obtenir leurs propres informations de débogage.
OriginalL'auteur Marc Merlin