[Lldb-commits] [lldb] [lldb] Step over non-lldb breakpoints (PR #174348)
David Spickett via lldb-commits
lldb-commits at lists.llvm.org
Thu Jan 29 03:13:50 PST 2026
================
@@ -82,6 +83,40 @@ bool StopInfo::HasTargetRunSinceMe() {
return false;
}
+void StopInfo::SkipOverTrapInstruction() {
+ Status error;
+ Log *log = GetLog(LLDBLog::Process);
+ // We don't expect to see byte sequences longer than four bytes long for
+ // any breakpoint instructions known to LLDB.
+ std::array<uint8_t, 4> bytes_at_pc = {0, 0, 0, 0};
+ auto reg_ctx_sp = GetThread()->GetRegisterContext();
+ auto process_sp = GetThread()->GetProcess();
+ addr_t pc = reg_ctx_sp->GetPC();
+ if (!process_sp->ReadMemory(pc, bytes_at_pc.data(), bytes_at_pc.size(),
+ error)) {
+ // If this fails, we simply don't handle the step-over-break logic and
+ // log the failure
+ LLDB_LOG(log, "failed to read program bytes at pc address {}, error {}", pc,
+ error);
+ return;
+ }
----------------
DavidSpickett wrote:
blank line after this
https://github.com/llvm/llvm-project/pull/174348
More information about the lldb-commits
mailing list