Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why can't gdb attach to server application summoned with inetd?

Tags:

c++

gdb

inetd

I have a server application that can be summoned for the client using inetd. However, if I try to attach to the server process that was launched with inetd, I get the following response: ptrace: Operation not permitted.

gdb --annotate=3 /my/app/here <processId>

Current directory is /usr/local/bin/
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
Reading symbols from /usr/local/bin/flumed...done.
Using host libthread_db library "/lib/tls/libthread_db.so.1".
Attaching to program: /my/app/here, process <processId>
ptrace: Operation not permitted.
/usr/local/bin/<processId>: No such file or directory.
(gdb) 
like image 268
WilliamKF Avatar asked Dec 23 '22 08:12

WilliamKF


1 Answers

Solution for me was this:

echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
like image 90
DinGODzilla Avatar answered Feb 23 '23 05:02

DinGODzilla