[Lldb-commits] [lldb] [lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (PR #129092)

Mikhail Zakharov via lldb-commits lldb-commits at lists.llvm.org
Fri Mar 14 15:17:08 PDT 2025


real-mikhail wrote:

I checked that and added a test for this case. Updating value works and new value can be displayed (in simple case):
```
(lldb) expr A $mine = {100, 200}
(lldb) expr $mine.a = 300
(int) $0 = 300
(lldb) expr $mine
(A) $mine = {a=300, b=200} {
  a = 300
  b = 200
}
```

But it is true that with my change memoryId will not be bumped. That means that `lldb_private::ValueObject::EvaluationPoint::NeedsUpdating` will return false. And in case if expression execution heavily modified something in convenience variable (for instance it led to changing display format or it requires reconstructing synthetic children of that variable) - then this update will not happen and stale value will be shown. I'm not sure though if this is a realistic case.

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


More information about the lldb-commits mailing list