diff options
Diffstat (limited to 'lldb/source/Commands/CommandObjectTarget.cpp')
| -rw-r--r-- | lldb/source/Commands/CommandObjectTarget.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lldb/source/Commands/CommandObjectTarget.cpp b/lldb/source/Commands/CommandObjectTarget.cpp index e5421e566cd5..8c877fc97105 100644 --- a/lldb/source/Commands/CommandObjectTarget.cpp +++ b/lldb/source/Commands/CommandObjectTarget.cpp @@ -4794,6 +4794,17 @@ public: m_one_liner.push_back(std::string(option_arg)); break; + case 'I': { + bool value, success; + value = OptionArgParser::ToBoolean(option_arg, false, &success); + if (success) + m_at_initial_stop = value; + else + error = Status::FromErrorStringWithFormat( + "invalid boolean value '%s' passed for -F option", + option_arg.str().c_str()); + } break; + default: llvm_unreachable("Unimplemented option"); } @@ -4820,6 +4831,7 @@ public: m_use_one_liner = false; m_one_liner.clear(); m_auto_continue = false; + m_at_initial_stop = true; } std::string m_class_name; @@ -4840,6 +4852,7 @@ public: // Instance variables to hold the values for one_liner options. bool m_use_one_liner = false; std::vector<std::string> m_one_liner; + bool m_at_initial_stop; bool m_auto_continue = false; }; @@ -5005,6 +5018,9 @@ protected: if (specifier_up) new_hook_sp->SetSpecifier(specifier_up.release()); + // Should we run at the initial stop: + new_hook_sp->SetRunAtInitialStop(m_options.m_at_initial_stop); + // Next see if any of the thread options have been entered: if (m_options.m_thread_specified) { |
