Ability to tell the difference between normal and syscall traps

Kostik Belousov kostikbel at gmail.com
Sat May 8 12:36:35 UTC 2010


On Sat, May 08, 2010 at 02:15:09PM +0300, Ali Polatel wrote:
> Does FreeBSD's ptrace have a way to tell the difference between normal
> traps and those caused by a system call?
> 
> On Linux? this is possible by passing PTRACE_O_TRACESYSGOOD option to the
> ptrace request PTRACE_SETOPTIONS which makes the kernel set bit 7 in the
> syscall number when delivering system call traps,
> (i.e., deliver (SIGTRAP | 0x80)).
> 
> I'm not sure if this is possible on FreeBSD. PT_LWPINFO request looks
> related but can't be sure.
> 
> ?: http://linux.die.net/man/2/ptrace

There is already procfs(5)-based interface to get a reason for stop.
Look at the ioctl PIOCSTATUS. Yes, you have to mount procfs.

The interface can be lifted to ptrace(2), but I think using the capacity
of procfs is not wrong there.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20100508/05eb74e6/attachment.pgp


More information about the freebsd-hackers mailing list