-
Notifications
You must be signed in to change notification settings - Fork 566
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i#6344: Add -record_syscall to drmemtrace (#6348)
Adds a new option -record_sysall to drmemtrace which records the parameter and success values for the given system call numbers. Just like with -record_function, the user must specify the parameter count. SYS_futex is left as traced by default, but it can be disabled. Adds documentation and a test. Further manual testing: ``` --------------------------------------------------------------------------- $ rm -rf drmemtrace.*.dir; bin64/drrun -t drcachesim -offline -record_syscall '1|-3&12|4&9|2' -record_syscall '12|2&158|4' -- suite/tests/bin/simple_app && bin64/drrun -t drcachesim -indir drmemtrace.*.dir -simulator_type view 2>&1 | egrep 'system call |function' Error: -record_syscall invalid parameter count -3 --------------------------------------------------------------------------- --------------------------------------------------------------------------- $ rm -rf drmemtrace.*.dir; bin64/drrun -t drcachesim -offline -record_syscall '1|-3&12|4&9|2' -record_syscall '12|2&158|4' -- suite/tests/bin/simple_app && bin64/drrun -t drcachesim -indir drmemtrace.*.dir -simulator_type view 2>&1 | egrep 'system call |function' <Application simple_app (484125) DynamoRIO usage error : invalid system call parameter number> --------------------------------------------------------------------------- --------------------------------------------------------------------------- $ rm -rf drmemtrace.*.dir; bin64/drrun -t drcachesim -offline -record_syscall '1|3&12|4&9|2' -record_syscall '12|2&158|4' -- suite/tests/bin/simple_app && bin64/drrun -t drcachesim -indir drmemtrace.*.dir -simulator_type view 2>&1 | egrep 'system call |function' ... Hello, world! <Stopping application simple_app (484049)> 32411 26808: 484049 <marker: system call 12> 32412 26808: 484049 <marker: function==syscall #12> 32413 26808: 484049 <marker: function argument 0x0> 32414 26808: 484049 <marker: function argument 0x7ffc87c52d4c> 32415 26808: 484049 <marker: function==syscall #12> 32416 26808: 484049 <marker: function return value 0x1> 50436 41126: 484049 <marker: system call 9> 50437 41126: 484049 <marker: function==syscall #9> 50438 41126: 484049 <marker: function argument 0x0> 50439 41126: 484049 <marker: function argument 0x2000> 50440 41126: 484049 <marker: function==syscall #9> 50441 41126: 484049 <marker: function return value 0x1> 50980 41485: 484049 <marker: system call 21> 52193 42391: 484049 <marker: system call 257> 52223 42409: 484049 <marker: system call 262> 52253 42430: 484049 <marker: system call 9> 52254 42430: 484049 <marker: function==syscall #9> 52255 42430: 484049 <marker: function argument 0x0> 52256 42430: 484049 <marker: function argument 0x1b5c7> 52257 42430: 484049 <marker: function==syscall #9> 52258 42430: 484049 <marker: function return value 0x1> 52274 42439: 484049 <marker: system call 3> 54224 44056: 484049 <marker: system call 257> 54252 44074: 484049 <marker: system call 0> 54329 44130: 484049 <marker: system call 17> 54455 44208: 484049 <marker: system call 262> 54988 44591: 484049 <marker: system call 17> 55653 45105: 484049 <marker: system call 9> 55654 45105: 484049 <marker: function==syscall #9> 55655 45105: 484049 <marker: function argument 0x0> 55656 45105: 484049 <marker: function argument 0x1e1f50> 55657 45105: 484049 <marker: function==syscall #9> 55658 45105: 484049 <marker: function return value 0x1> ... --------------------------------------------------------------------------- ``` Fixes #6344
- Loading branch information
1 parent
d3304e7
commit 43db19b
Showing
9 changed files
with
137 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
24 changes: 24 additions & 0 deletions
24
clients/drcachesim/tests/offline-allasm-record-syscall.templatex
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
Adios world! | ||
Adios world! | ||
Adios world! | ||
Adios world! | ||
Adios world! | ||
Adios world! | ||
Adios world! | ||
Adios world! | ||
Adios world! | ||
Adios world! | ||
.* | ||
43 20: .* ifetch 2 byte\(s\) @ 0x.* 0f 05 syscall | ||
44 20: .* <marker: timestamp .*> | ||
45 20: .* <marker: tid .* on core .*> | ||
46 20: .* <marker: system call 1> | ||
47 20: .* <marker: maybe-blocking system call> | ||
48 20: .* <marker: function==syscall #1> | ||
49 20: .* <marker: function argument 0x2> | ||
50 20: .* <marker: function argument 0x.*> | ||
51 20: .* <marker: function argument 0xd> | ||
52 20: .* <marker: function==syscall #1> | ||
53 20: .* <marker: function return value 0x1> | ||
54 20: .* <marker: timestamp .*> | ||
.* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters