[lug] Telling whether a process is being traced?

Scott Herod herod at dimensional.com
Thu May 15 17:19:18 MDT 2003


Hello,

I'm trying to run apache through gdb and getting an error that says it 
"Couldn't get registers: operation not permitted".  On another basically 
similar machine, it works fine.  Now that error message is the result of a 
ptrace call which fails with an EPERM.  The ptrace manpage says that EPERM 
is caused by insufficient permissions or a process that is already being 
traced.

I was trying to run gdb as root, so can't understand that as a cause.  
When I run apache without gdb, I notice that /proc/<pid>/stat shows a 'T'
in the state field which the proc manpage says indicates that the process
is being traced or is stopped on a signal.

Is there some way to determine if something else is tracing it?  I know 
I'm not running another gdb session.

Thanks,

Scott




More information about the LUG mailing list