KDevelop - Attach debugger to a running process
David Redondo
kde at david-redondo.de
Tue Apr 7 14:27:29 BST 2020
Hi John,
yes that's a kernel level setting. Probably depending on the distribution you
are using. On my system (KDE Neon) /etc/sysctl.d/10-ptrace.conf reads:
# The PTRACE system is used for debugging. With it, a single user process
# can attach to any other dumpable process owned by the same user. In the
# case of malicious software, it is possible to use PTRACE to access
# credentials that exist in memory (re-using existing SSH connections,
# extracting GPG agent information, etc).
#
# A PTRACE scope of "0" is the more permissive mode. A scope of "1" limits
# PTRACE only to direct child processes (e.g. "gdb name-of-program" and
# "strace -f name-of-program" work, but gdb's "attach" and "strace -fp $PID"
# do not). The PTRACE scope is ignored when a user has CAP_SYS_PTRACE, so
# "sudo strace -fp $PID" will work as before. For more details see:
# https://wiki.ubuntu.com/SecurityTeam/Roadmap/KernelHardening#ptrace
#
# For applications launching crash handlers that need PTRACE, exceptions can
# be registered by the debugee by declaring in the segfault handler
# specifically which process will be using PTRACE on the debugee:
# prctl(PR_SET_PTRACER, debugger_pid, 0, 0, 0);
#
# In general, PTRACE is not needed for the average running Ubuntu system.
# To that end, the default is to set the PTRACE scope to "1". This value
# may not be appropriate for developers or servers with only admin accounts.
Regards,
David
Am Montag, 6. April 2020, 18:55:25 CEST schrieb John Hayes:
> Aleix, Sven,
>
> Could you clarify the use of the Attach the Debugger to a running
> Process? I am working on that section in the KDevelop5 manual and I can
> attach to a running project with Heaptrack, but not with gdb or lldb.
> When I try with either debugger I get:
>
> ptrace: Operation not permitted.
>
> Am I doing something wrong, or is this due to linux kernel changes?
More information about the KDevelop-devel
mailing list