PTRACE_ATTACH nicht gestattet
Aus irgendeinem Grund bin ich nicht in der Lage zu befestigen, um meine eigenen Prozesse?! Funktioniert gut, wenn ich versuchen strace
als 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
Läuft auf 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
Also wie funktioniert dann gdb
befestigen, um eigene Prozesse, ohne dreck, um mit kernel-Einstellungen (ptrace_scope
)??
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht aus wie Sie Ihre eigene Frage beantwortet-Sie haben ptrace_scope auf 1 gesetzt, so kann man nur trace direkte Kinder. Zu ermöglichen tracing jedem Prozess gehören demselben Benutzer, legen Sie es auf 0. Dies ist auch erforderlich, um die gdb
attach
Befehl.LESEN der /etc/sysctl.d/10-ptrace.conf-Datei als Fehlermeldung vorgeschlagen...
Wenn strace nicht als root, überprüfen Sie, ob...
gdb
oderstrace
läuft nicht im hintergrund (das war mein Fall).Befehl:
ps aux | grep "gdb\|strace"
Wenn dies nicht als root, ich hatte ein problem stracing enlightenment (e17) und der Grund war, dass Sie nicht strace ein Prozess bereits straced oder unter gdb laufen, die einige der Programme zu tun, so dass Sie bekommen können, um Ihre eigenen debugging-info.