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

via lldb-commits lldb-commits at lists.llvm.org
Wed Mar 19 12:54:41 PDT 2025


jimingham wrote:

> > I think something like that might work.
> 
> Clarification: that will work only for cases if there are `VariableObject` for each variable and they are checked. If, for instance, non-persistent variable holds reference to persistent variable and only `MemoryCacheId` is bumped then (pretty printer of) non-persistent variable will not know that it needs updating.

Making an object an object in the expression parser so that you can assign it to a member of some extant object is a useful way to test "what happens if an object made this way is put here".  That's still a pretty advanced use, so if for instance you had to set a "target.process.expressions-flush-memory-cache" setting for the times we get this wrong.  It seems like you are also solving a performance problem that most people don't have - we try hard not to use expressions in our data formatters.  

So having a way to indicate you need the faster vrs. the more bullet-proof behavior might be an acceptable solution.  You might even argue that the setting should be "bullet-proof behavior" by default.  If you are shipping a data formatter that benefits from this setting, you can also set the setting in the module that installs the data formatters...

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


More information about the lldb-commits mailing list