• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..16-Feb-2021-

scripts/H03-May-2022-1,1521,054

sidestep/H16-Feb-2021-2,0251,577

MakefileH A D16-Feb-2021637 3127

READMEH A D16-Feb-20211.3 KiB2219

assembler.hH A D16-Feb-202113.8 KiB579401

assembler_unittest.ccH A D16-Feb-20211.8 KiB8458

assembler_unittest.shH A D16-Feb-2021231 81

assembler_unittest.sh.expectedH A D16-Feb-20211.7 KiB5554

dump_syscalls_idarub.rbH A D16-Feb-2021937 3314

logging.hH A D16-Feb-2021741 2920

main.ccH A D16-Feb-202143.3 KiB1,340915

rdtsc.hH A D16-Feb-2021889 4429

stubs.asmH A D16-Feb-20211.5 KiB13389

sym_resolver.hH A D16-Feb-20215.1 KiB168117

syscall_map.hH A D16-Feb-2021103.3 KiB2,1172,096

README

1Traceline is a Windows utility to intercept, time, and log system calls.  This
2is achieved by injecting code into a target process, along with dynamically
3generated assembly hook stubs.  One of the major goals was to skew performance
4timings as little as possible.  This lead to a design in which the log buffer
5(which is called the playground) is kept within the process, and the logger
6routines use atomic instructions to log their events to this buffer.  At the
7end of the processes lifetime, this buffer is pulled out of the process and
8used to generated JSON output.  In addition to hooking system call activity,
9other hooks of interest have been written, including heap allocation functions.
10Symbols are supported with a command line flag.  This works by capturing the
11process shutdown, and doing an intrusive symbol attach with dbghelp.dll
12
13NOTES:
14  - You should copy dbghelp.dll from a windbg installation into this directory.
15    The version shipped with Windows is old, and symbol support won't work.
16  - You will need a bit of cygwin if you want to use the Makefile.  Otherwise
17    it is pretty clear how to build the files manually.
18  - The output JSON data will be printed out stdout.  It is likely that you
19    will want to pipe the output of this program into a file.
20
21Dean McNamee <deanm@chromium.org>
22