-
Notifications
You must be signed in to change notification settings - Fork 56
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
Debug Point Browser integration #697
Debug Point Browser integration #697
Conversation
Maybe this failing test is related, I should investigate: |
Needs pharo-project/pharo#16268 to be merged first because it relies on the Calypso package that will be loaded after that PR is merged |
…, we now reject abstract classes
…mpacted by variable debug points
To me, this is now ready for review @StevenCostiou |
the prerequisites are merged. |
failing test is not related. Is @StevenCostiou approves, this can be merged |
Synced with steven -> ok |
There are a lot of changes, but only additions (the browser). |
Needs pharo-project/pharo#16177 to be merged first.
This PR integrates the debug points browser, a new tool to visualize and configure existing debug points. (Full details on the new debug point model are described in the PR above)
The tool can be opened via the
Debug > Debug Point Browser
world menu and looks like that:On the top-left, a table allows to visualize all debug points (breakpoints/watchpoints/etc.)
Each debug point has a name (more a tag than a name) that can be edited directly in this table.
The "enabled" state of the debug point is also displayed, as well as the scope of the debug point (class or object)
All behaviors of the selected can be configured via the right pane of debug point browser
When a debug point is selected, according to the target of the debug point, different information are displayed.
If the target is an AST node, the code of the concerned method is displayed (like in screenshot below), while highlightingthe corresponding code
If the target is an instance variable, all concerned methods are listed and selecting a method display displays the corresponding code and highlights the correct variable accesses:
It is possible to filter the displayed debug points by name, thanks to an input field at the top:
To set object-centric debug points, the left-most button in the inspector toolbar allows to do the same thing in the same way as current object-centric breakpoints:
Last but not least, it is also possible to change the scope of an existing debug point to an object, which was not possible before.
The third button in the inspector toolbar allows to do that and opens a modal to choose a debug point whose scope should be changed to the inspected object: