================ @@ -1363,9 +1375,51 @@ Status ProcessGDBRemote::DoResume() { } } + if (direction == RunDirection::eRunReverse && continue_packet_error) { + if (num_continue_C_tids > 0 || num_continue_S_tids > 0) { + LLDB_LOGF(log, + "ProcessGDBRemote::DoResumeReverse: Signals not supported"); + return Status::FromErrorString( + "can't deliver signals while running in reverse"); + } + + if (num_continue_s_tids > 0) { + if (num_continue_s_tids > 1) { + LLDB_LOGF( + log, + "ProcessGDBRemote::DoResumeReverse: can't step multiple threads"); + return Status::FromErrorString( + "can't step multiple threads while reverse-stepping"); + } + + if (!m_gdb_comm.GetReverseStepSupported()) { ---------------- jimingham wrote:
I think this should be checked first. It's kind of goofy if you try to do a "reverse step with signal" and get told that "can't deliver signals while running in reverse", so then you say "okay just do the reverse step" and get told that the target doesn't in fact support reverse continue at all... https://github.com/llvm/llvm-project/pull/112079 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits