[Lldb-commits] [PATCH] D144937: [LLDB] Expose several methods in SBWatchpoint
Jim Ingham via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed Mar 1 13:51:43 PST 2023
jingham added inline comments.
================
Comment at: lldb/test/API/python_api/watchpoint/TestSetWatchpoint.py:66
+ if variable_watchpoint:
+ # FIXME: There should probably be an API to create a variable watchpoint
+ self.runCmd('watchpoint set variable -w read_write -- global')
----------------
delcypher wrote:
> delcypher wrote:
> > mib wrote:
> > > +1, please file an enhancement request :)
> > Will do. TBH I'm actually surprised that calling `SBValue::Watch()` doesn't create a variable watchpoint.
> Actually I'm even more confident this is a bug. If `value.Watch(...)` created an expression watchpoint you would expect the type to be a `int32_t*` (because the watched expression would need to have been `&global`), not `int32_t`.
>
> However, I think this bug should be fixed in a different commit.
There's no guarantee that an SBValue represents a variable. An SBValue backed by a ValueObjectVariable (or a ValueObjectChild whose root object is a ValueObjectVariable) could create a Variable watchpoint. But for instance a typed memory address isn't a variable, nor is an expression result. They don't have scopes, which is the main thing "variable" watchpoints have over expression ones, for instance.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D144937/new/
https://reviews.llvm.org/D144937
More information about the lldb-commits
mailing list