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
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits