[Lldb-commits] [lldb] [lldb] Add 'modify' type watchpoints, make it default (PR #66308)

Jason Molenda via lldb-commits lldb-commits at lists.llvm.org
Mon Sep 18 19:09:51 PDT 2023


================
@@ -6,11 +6,7 @@
 ) lldb::SBWatchpointOptions::SetWatchpointTypeRead;
 %feature("docstring", "Gets whether the watchpoint should stop on read accesses."
 ) lldb::SBWatchpointOptions::GetWatchpointTypeRead;
-%feature("docstring", "Sets whether the watchpoint should stop on write accesses."
+%feature("docstring", "Sets whether the watchpoint should stop on write accesses. eWatchpointWriteTypeOnModify is the most commonly useful mode, where lldb will stop when the watched value has changed. eWatchpointWriteTypeAlways will stop on any write to the watched region, and on some targets there can false watchpoint stops where memory near the watched region was written, and lldb cannot detect that it is a spurious stop."
----------------
jasonmolenda wrote:

Yeah I'll remove that text.  It's going to be part of my large watchpoints enhancement -- on stubs that support it on AArch64, we'll use a masking watchpoint, so you can watch a 48 byte object but we'll do it by watching 64 bytes of memory.  for a straight-up "write" watchpoint, we can't tell whether the 48 bytes were written to with the same value, or the 16 bytes we aren't intending to watch were written to.  Also with AArch64 in SVE Streaming Mode, the address matching is at lower accuracy, so a write near a watchpoint can match the watchpoint, even if it didn't actually access the memory range.

https://github.com/llvm/llvm-project/pull/66308


More information about the lldb-commits mailing list