This README documents the why, the what, and the how of this repository
/!\ This software is experimental, you SHOULD NOT use it if you're looking for the original strace /!\
- An illustration of my C skills
- Was a school project
From Wikipedia:
"strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state. The operation of strace is made possible by the kernel feature known as ptrace. Some Unix-like systems provide other diagnostic tools similar to strace, such as truss."
$ cd
$ git clone https://github.com/grenadingue/strace.git || git clone http://git.chauv.in/strace.git
$ cd strace
$ make
$ ./strace
Usage : ./strace <command> [args] || <-p> <pid>
- Experimental, you SHOULD NOT use it if you're looking for the original strace
- Designed for x86_64 architecture only
- Originaly designed for Opensuse 12 and Debian 7
- Recently ported for working with Archlinux
- Pretty (very) slow, uses
PTRACE_SINGLESTEP
instead ofPTRACE_SYSCALL
(scholar restriction) - Print natives data types (
char
,char *
,int
, ...) - Print hexadecimal values for pointers and any custom data type
- Nicolas Chauvin [email protected]