Index: include/lldb/API/SBThread.h =================================================================== --- include/lldb/API/SBThread.h +++ include/lldb/API/SBThread.h @@ -93,6 +93,9 @@ void StepOver(lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping); + void StepOver(SBError &error, + lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping); + void StepInto(lldb::RunMode stop_other_threads = lldb::eOnlyDuringStepping); void StepInto(const char *target_name, Index: source/API/SBThread.cpp =================================================================== --- source/API/SBThread.cpp +++ source/API/SBThread.cpp @@ -633,6 +633,11 @@ } void SBThread::StepOver(lldb::RunMode stop_other_threads) { + SBError error; + StepOver(error, stop_other_threads); +} + +void SBThread::StepOver(SBError &error, lldb::RunMode stop_other_threads) { Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); std::unique_lock lock; @@ -662,9 +667,8 @@ } } - // This returns an error, we should use it! - ResumeNewPlan(exe_ctx, new_plan_sp.get()); - } + error = ResumeNewPlan(exe_ctx, new_plan_sp.get()); + } else error.SetErrorString("this SBThread object is invalid"); } void SBThread::StepInto(lldb::RunMode stop_other_threads) {