Skip to content

dutchcoders/trace

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 

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