Skip to content
forked from dutchcoders/trace

System tracer implementation in Rust

Notifications You must be signed in to change notification settings

isgasho/trace-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tracer Gitter Build Status

The system tracer will show all syscalls, methods and optionally assembly that is being executed. This allows tracing of complete program flows. Tracer can be run for new processes, but also be attached to existing processes.

Usage

Start a new process

$ cargo run -- -a -c "/bin/ls"
...
/bin/ls                                4021f0         ff254a9e2100 jmp localtime
/bin/ls                                4021f0           6805000000 push localtime
/bin/ls                                4021f0           e990ffffff jmp localtime
/bin/ls                                4021f0         ff254a9e2100 jmp localtime
/bin/ls                                4021f0           6805000000 push localtime
/bin/ls                                4021f0           e990ffffff jmp localtime
/bin/ls                                402270         ff250a9e2100 jmp __fpending
/bin/ls                                402270           680d000000 push __fpending
/bin/ls                                402270           e910ffffff jmp __fpending
/bin/ls                                402310         ff25ba9d2100 jmp fclose
/bin/ls                                402310           6817000000 push fclose
/bin/ls                                402310           e970feffff jmp fclose
unknown                          7fc465c63b0e                 0f05 syscall close( 3) ( fd: 01 )
...

Connect to an existing process

$ cargo run -- -a --pid 0

References

TODO

About

System tracer implementation in Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 92.3%
  • Python 7.4%
  • Shell 0.3%