New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Data breakpoints #765
base: master
Are you sure you want to change the base?
Conversation
48a5679
to
51d0bad
Compare
Works with CodeLLDB mostly for named things. Expressions don't seem to be supported by anyone. Fixed some state issues with the connections being retained across restarts in watches. ugh. so messy. Added access type question.
…nd anything if there's a connected session
51d0bad
to
e6b80c4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need also to
- update the docs
- write some tests
- Check the breakpoints window, edit etc.
continue | ||
if bp[ 'conn' ] != connection.GetSessionId(): | ||
continue | ||
if not bp[ 'info' ].get( 'dataId' ): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could 0 be a valid value?
@@ -91,6 +91,7 @@ | |||
'delete': [ '<Del>' ], | |||
'set_value': [ '<C-CR>', '<leader><CR>' ], | |||
'read_memory': [ '<leader>m' ], | |||
'add_data_breakpoint': [ '<F9>' ], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should probably be based on the mappings mode, but I'm not sure anyone uses anything other than HUMAN mode...
variable: Expandable | ||
view: View | ||
|
||
variable, view = self._GetVariable( buf, line_num ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this is where we might decide that it's actually an expression data BP e.g. we add a watch like foo
and we want a data bp on the foo
variable, but we currently can only do it on the result of that expression.
We should also allow it from the command line like :VimspectorAddDataBreakpoint <expression>
I will probably need to implement that for CodeLLDB before it's worth adding to vimspector as I still haven't found an adapter that supports it.
No description provided.