[Lldb-commits] [PATCH] D55582: [Reproducers] Add command reproducer
Pavel Labath via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed Dec 12 01:26:49 PST 2018
labath added a comment.
My main question is why do we need the separate `SBDebugger::RunReplay` API for this. Shouldn't the record/replay be as transparent as possible? I would expect that `SBDebugger::RunCommandInterpreter` will detect that it is running in replay mode and use the recorded input command stream instead of the real one.
================
Comment at: source/Interpreter/CommandInterpreter.cpp:131
+ // Explicitly ignore reproducer commands.
+ if (command.find("reproducer") == 0)
+ return;
----------------
This seems pretty hacky, and easy to break in multiple ways:
- `alias rep reproducer`; `rep generate`
- `file /tmp/reproducer/bin/lldb`
Couldn't you just have the actual reproducer CommandObject check what mode we're in, and behave like a nop if there is nothing to do? (So, the commands would still be captured, but they wouldn't do anything when replaying.)
================
Comment at: source/Interpreter/CommandInterpreter.cpp:2154
+ options.SetSilent(false);
+ options.SetStopOnError(true);
+ options.SetStopOnContinue(false);
----------------
Is this correct? What if the command originally has ended with an error (perhaps because the user made a typo)? Will that abort the replay here?
Repository:
rLLDB LLDB
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D55582/new/
https://reviews.llvm.org/D55582
More information about the lldb-commits
mailing list