[Lldb-commits] [PATCH] D143215: Separate Process::GetWatchpointSupportInfo into two methods to get the two separate pieces of information

Jason Molenda via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Feb 6 23:36:25 PST 2023


jasonmolenda added a comment.

I phabracated wrong and the end of the last msg was truncated.  I meant to end it with this:

If the number of watchpoints could not be fetched with an lldb-extension packet, Process:GetWatchpointSupportInfo would not report whether breakpoints are received before or after the instruction has executed. This latter is important to know to handle watchpoints; the former doesn't really matter. So when we connect to a non-lldb-server/debugserver stub, and we are targetting an arm cpu (where watchpoint exceptions are received before the instruction executes), lldb would not correctly disable the watchpoint/insn-step/re-enable the watchpoint (v. StopInfoWatchpoint::ShouldStopSynchronous in StopInfo.cpp), you'd hit the watchpoint exception over and over without advancing.

This patch separates these into two different Process methods, and sets a default of "before" for arm targets if the qHostInfo packet didn't provide any hints (e.g. `watchpoint_exceptions_received:after;`), otherwise it returns nullopt.

I removed the before/after calculation from the ProcessWindows plugin because it always returned after; the concrete method in Process already behaves that way for intel.

I need to review & test this patch - it's closer to a WIP at this instant, but I wanted to checkpoint the updates I made so far, and where I'm heading with it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D143215/new/

https://reviews.llvm.org/D143215



More information about the lldb-commits mailing list