summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/scripts/Python/python-wrapper.swig4
-rw-r--r--lldb/source/Commands/CommandObjectBreakpointCommand.cpp3
2 files changed, 6 insertions, 1 deletions
diff --git a/lldb/scripts/Python/python-wrapper.swig b/lldb/scripts/Python/python-wrapper.swig
index 9834f0f2b63..789cf6fae11 100644
--- a/lldb/scripts/Python/python-wrapper.swig
+++ b/lldb/scripts/Python/python-wrapper.swig
@@ -151,6 +151,10 @@ LLDBSwigPythonBreakpointCallbackFunction
if (pvalue != NULL)
{
+ // be very conservative here and only refuse to stop if the user
+ // actually returned False - anything else, just stop
+ if (pvalue == Py_False)
+ stop_at_breakpoint = false;
Py_DECREF (pvalue);
}
else if (PyErr_Occurred ())
diff --git a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
index 0d6a3a7264d..3dbb6e052d5 100644
--- a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
+++ b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
@@ -581,7 +581,8 @@ protected:
// what the user would do manually: make their breakpoint command be a function call
else if (m_options.m_function_name.size())
{
- std::string oneliner(m_options.m_function_name);
+ std::string oneliner("return ");
+ oneliner += m_options.m_function_name;
oneliner += "(frame, bp_loc, internal_dict)";
m_interpreter.GetScriptInterpreter()->SetBreakpointCommandCallback (bp_options,
oneliner.c_str());
OpenPOWER on IntegriCloud