The SetStopInfo from a Mach Exception was setting the stop
reason to None when we stop due to a trace, then noticed that we were on a breakpoint that was not valid for the current thread. That should actually have set it back to trace. This was pr26441 (<rdar://problem/24470203>) llvm-svn: 259684
This commit is contained in:
parent
45b6159ed3
commit
22eeb7227c
|
@ -79,7 +79,6 @@ class ConsecutiveBreakpointsTestCase(TestBase):
|
|||
self.finish_test()
|
||||
|
||||
@no_debug_info_test
|
||||
@expectedFailureDarwin(bugnumber="llvm.org/pr26441")
|
||||
def test_single_step_thread_specific(self):
|
||||
"""Test that single step stops, even though the second breakpoint is not valid."""
|
||||
self.prepare_test()
|
||||
|
|
|
@ -507,6 +507,8 @@ StopInfoMachException::CreateStopReasonWithMachException
|
|||
// report the breakpoint regardless of the thread.
|
||||
if (bp_site_sp->ValidForThisThread (&thread) || thread.GetProcess()->GetOperatingSystem () != NULL)
|
||||
return StopInfo::CreateStopReasonWithBreakpointSiteID (thread, bp_site_sp->GetID());
|
||||
else if (is_trace_if_actual_breakpoint_missing)
|
||||
return StopInfo::CreateStopReasonToTrace (thread);
|
||||
else
|
||||
return StopInfoSP();
|
||||
}
|
||||
|
|
|
@ -239,7 +239,8 @@ ThreadPlanStepInstruction::ShouldStop (Event *event_ptr)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (m_thread.GetRegisterContext()->GetPC(0) != m_instruction_addr)
|
||||
lldb::addr_t pc_addr = m_thread.GetRegisterContext()->GetPC(0);
|
||||
if (pc_addr != m_instruction_addr)
|
||||
{
|
||||
if (--m_iteration_count <= 0)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue