diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp --- a/lldb/source/Core/Debugger.cpp +++ b/lldb/source/Core/Debugger.cpp @@ -1699,8 +1699,10 @@ // Display running state changes first before any STDIO if (got_state_changed && !state_is_stopped) { + // This is a public stop which we are going to announce to the user, so + // we should force the most relevant frame selection here. Process::HandleProcessStateChangedEvent(event_sp, output_stream_sp.get(), - DoNoSelectMostRelevantFrame, + SelectMostRelevantFrame, pop_process_io_handler); } @@ -1740,7 +1742,7 @@ // Now display any stopped state changes after any STDIO if (got_state_changed && state_is_stopped) { Process::HandleProcessStateChangedEvent(event_sp, output_stream_sp.get(), - DoNoSelectMostRelevantFrame, + SelectMostRelevantFrame, pop_process_io_handler); } diff --git a/lldb/test/Shell/Recognizer/assert.test b/lldb/test/Shell/Recognizer/assert.test --- a/lldb/test/Shell/Recognizer/assert.test +++ b/lldb/test/Shell/Recognizer/assert.test @@ -9,7 +9,6 @@ # RUN: %lldb -b -s %s %t.out | FileCheck %s run # CHECK: thread #{{.*}}stop reason = hit program assert -frame info # CHECK: frame #{{.*}}`main at assert.c frame recognizer info 0 # CHECK: frame 0 is recognized by Assert StackFrame Recognizer