diff options
author | Markus Metzger <markus.t.metzger@intel.com> | 2014-03-05 15:38:11 +0100 |
---|---|---|
committer | Markus Metzger <markus.t.metzger@intel.com> | 2014-05-23 09:07:53 +0200 |
commit | 67b5c0c1a4336318f23f65b8fa98a08b569c5c39 (patch) | |
tree | 476287feb650f7f662c4afae6e22cc5677ef7bc3 /gdb/testsuite/gdb.btrace | |
parent | 4c6bdb4026d3c7050aacade3fa5340dfaa491bc1 (diff) | |
download | gdb-67b5c0c1a4336318f23f65b8fa98a08b569c5c39.zip gdb-67b5c0c1a4336318f23f65b8fa98a08b569c5c39.tar.gz gdb-67b5c0c1a4336318f23f65b8fa98a08b569c5c39.tar.bz2 |
btrace: control memory access during replay
The btrace record target does not trace data. We therefore do not allow
accessing read-write memory during replay.
In some cases, this might be useful to advanced users, though, who we assume
to know what they are doing.
Add a set|show command pair to turn this memory access restriction off.
* record-btrace.c (record_btrace_allow_memory_access): Remove.
(replay_memory_access_read_only, replay_memory_access_read_write)
(replay_memory_access_types, replay_memory_access)
(set_record_btrace_cmdlist, show_record_btrace_cmdlist)
(cmd_set_record_btrace, cmd_show_record_btrace)
(cmd_show_replay_memory_access): New.
(record_btrace_xfer_partial, record_btrace_insert_breakpoint)
(record_btrace_remove_breakpoint): Replace
record_btrace_allow_memory_access with replay_memory_access.
(_initialize_record_btrace): Add commands.
* NEWS: Announce it.
testsuite/
* gdb.btrace/data.exp: Test it.
doc/
* gdb.texinfo (Process Record and Replay): Document it.
Diffstat (limited to 'gdb/testsuite/gdb.btrace')
-rw-r--r-- | gdb/testsuite/gdb.btrace/data.exp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.btrace/data.exp b/gdb/testsuite/gdb.btrace/data.exp index 64c5443..91d8d8b 100644 --- a/gdb/testsuite/gdb.btrace/data.exp +++ b/gdb/testsuite/gdb.btrace/data.exp @@ -40,6 +40,14 @@ gdb_test "reverse-step" ".*test\.4.*" gdb_test "print glob" "unavailable\[^\\\r\\\n\]*" gdb_test "print loc" "unavailable\[^\\\r\\\n\]*" +# we can read memory if we explicitly allow it. +gdb_test_no_output "set record btrace replay-memory-access read-write" +gdb_test "print glob" "1" + +# we can't if we don't explicitly allow it. +gdb_test_no_output "set record btrace replay-memory-access read-only" +gdb_test "print glob" "unavailable\[^\\\r\\\n\]*" + # stop replaying and try again -gdb_test "record goto end" +gdb_test "record goto end" ".*main\.3.*" gdb_test "print glob" "1" |