diff options
author | Jim Ingham <jingham@apple.com> | 2018-10-10 00:51:30 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2018-10-10 00:51:30 +0000 |
commit | 285ae0c07b20b25725963e11f65fbb53b5110edc (patch) | |
tree | d452e5108b8a8a7f995b0d0b727b4bb33a056edc | |
parent | abbc51e5c34df90872c510b3221e817e714fccda (diff) | |
download | bcm5719-llvm-285ae0c07b20b25725963e11f65fbb53b5110edc.tar.gz bcm5719-llvm-285ae0c07b20b25725963e11f65fbb53b5110edc.zip |
Add "var" and "vo" aliases for "frame variable" and "frame variable -O".
Differential Revision: https://reviews.llvm.org/D53010
llvm-svn: 344102
-rw-r--r-- | lldb/source/Commands/CommandObjectFrame.cpp | 12 | ||||
-rw-r--r-- | lldb/source/Interpreter/CommandInterpreter.cpp | 7 |
2 files changed, 18 insertions, 1 deletions
diff --git a/lldb/source/Commands/CommandObjectFrame.cpp b/lldb/source/Commands/CommandObjectFrame.cpp index 14f41466b85..5424bcdf103 100644 --- a/lldb/source/Commands/CommandObjectFrame.cpp +++ b/lldb/source/Commands/CommandObjectFrame.cpp @@ -427,7 +427,17 @@ public: "arguments and local variables in scope. Names of argument, " "local, file static and file global variables can be specified. " "Children of aggregate variables can be specified such as " - "'var->child.x'.", + "'var->child.x'. The -> and [] operators in 'frame variable' do " + "not invoke operator overloads if they exist, but directly access " + "the specified element. If you want to trigger operator overloads " + "use the expression command to print the variable instead." + "\nIt is worth noting that except for overloaded " + "operators, when printing local variables 'expr local_var' and " + "'frame var local_var' produce the same " + "results. However, 'frame variable' is more efficient, since it " + "uses debug information and memory reads directly, rather than " + "parsing and evaluating an expression, which may even involve " + "JITing and running code in the target program.", nullptr, eCommandRequiresFrame | eCommandTryTargetAPILock | eCommandProcessMustBeLaunched | eCommandProcessMustBePaused | eCommandRequiresProcess), diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp index ec812d61ea2..d5dd32b52b8 100644 --- a/lldb/source/Interpreter/CommandInterpreter.cpp +++ b/lldb/source/Interpreter/CommandInterpreter.cpp @@ -423,6 +423,13 @@ void CommandInterpreter::Initialize() { if (cmd_obj_sp) { AddAlias("rbreak", cmd_obj_sp, "--func-regex %1"); } + + cmd_obj_sp = GetCommandSPExact("frame variable", false); + if (cmd_obj_sp) { + AddAlias("var", cmd_obj_sp); + AddAlias("vo", cmd_obj_sp, "--object-description"); + } + } void CommandInterpreter::Clear() { |