-
Notifications
You must be signed in to change notification settings - Fork 874
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
PHP: Added support for exception breakpoints. #6366
Conversation
php/php.dbgp/src/org/netbeans/modules/php/dbgp/breakpoints/BreakpointModel.java
Outdated
Show resolved
Hide resolved
php/php.dbgp/src/org/netbeans/modules/php/dbgp/breakpoints/BreakpointRuntimeSetter.java
Outdated
Show resolved
Hide resolved
php/php.dbgp/src/org/netbeans/modules/php/dbgp/breakpoints/BreakpointsReader.java
Outdated
Show resolved
Hide resolved
php/php.dbgp/src/org/netbeans/modules/php/dbgp/breakpoints/BreakpointsReader.java
Outdated
Show resolved
Hide resolved
php/php.dbgp/src/org/netbeans/modules/php/dbgp/breakpoints/DbgpExceptionBreakpointType.java
Outdated
Show resolved
Hide resolved
php/php.dbgp/src/org/netbeans/modules/php/dbgp/ui/DbgpExceptionBreakpointPanel.java
Outdated
Show resolved
Hide resolved
php/php.dbgp/src/org/netbeans/modules/php/dbgp/ui/DbgpExceptionBreakpointPanel.java
Outdated
Show resolved
Hide resolved
epClassName.getAccessibleContext().setAccessibleName("pane"); | ||
epClassName.getAccessibleContext().setAccessibleDescription("pane"); |
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.
// NOI18N
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.
Well, these are not friendly accessible descriptions, right...?
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.
Please, improve A11Y description of these elements (imagine, that you cannot see them - how would you describe them?), thanks.
php/php.dbgp/src/org/netbeans/modules/php/dbgp/ui/DbgpExceptionBreakpointPanel.java
Outdated
Show resolved
Hide resolved
php/php.dbgp/src/org/netbeans/modules/php/dbgp/ui/DbgpExceptionBreakpointPanel.java
Outdated
Show resolved
Hide resolved
php/php.dbgp/src/org/netbeans/modules/php/dbgp/ui/DbgpExceptionBreakpointPanel.java
Outdated
Show resolved
Hide resolved
php/php.dbgp/src/org/netbeans/modules/php/dbgp/ui/completion/ExceptionCompletionItem.java
Outdated
Show resolved
Hide resolved
@troizet Thank you for your work! |
php/php.dbgp/src/org/netbeans/modules/php/dbgp/ui/completion/ExceptionCompletionProvider.java
Outdated
Show resolved
Hide resolved
php/php.dbgp/src/org/netbeans/modules/php/dbgp/ui/completion/ExceptionCompletionProvider.java
Outdated
Show resolved
Hide resolved
php/php.dbgp/src/org/netbeans/modules/php/dbgp/breakpoints/BreakpointsReader.java
Outdated
Show resolved
Hide resolved
php/php.dbgp/src/org/netbeans/modules/php/dbgp/breakpoints/BreakpointModel.java
Show resolved
Hide resolved
php/php.dbgp/src/org/netbeans/modules/php/dbgp/breakpoints/DbgpExceptionBreakpointType.java
Outdated
Show resolved
Hide resolved
Wow, very nice PR, thanks a lot for it! 👍 |
31466f6
to
700157d
Compare
@junichi11, @tmysik. Has corrected the shortcomings you pointed out. Thank you very much for the review! |
php/php.dbgp/src/org/netbeans/modules/php/dbgp/ui/DbgpExceptionBreakpointPanel.java
Outdated
Show resolved
Hide resolved
Please add image files to the |
@troizet Please, resolve the remaining comments so we can merge this PR 👍 Thanks a lot for your work! |
700157d
to
f772ca2
Compare
php/php.dbgp/src/org/netbeans/modules/php/dbgp/ui/completion/ExceptionCompletionProvider.java
Outdated
Show resolved
Hide resolved
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.
Thank you for your work!
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.
Thanks! 👍
Breakpoint_set and breakpoint_remove commands are used instead of breakpoint_update to change breakpoint state during debugging. Fixed a bug where the previous breakpoint was displayed as the current breakpoint if the current breakpoint was not found.
f772ca2
to
5f1c9da
Compare
Merging. |
Many thanks for this useful addition! However, how would I see the cause of (f.e) a warning, once the breakpoint is hit? |
Unfortunately, there is no such opportunity at the moment. |
That's a pity. Is this planned? |
Yes, that's in the plans. |
What has been done in this PR:
1) Added support for exception breakpoints. (Closes #5434)
Debugging examples:
simplescreenrecorder-2023-08-21_21.26.24.mp4
simplescreenrecorder-2023-08-21_21.27.00.mp4
simplescreenrecorder-2023-08-21_21.28.44.mp4
The code used in the example:
2)
Breakpoint_set
andbreakpoint_remove
commands are used instead ofbreakpoint_update
to change breakpoint state during debugging.In the current implementation, enabling/disabling a breakpoint during debugging is done by setting the
state
attribute with the breakpoint_update command.But for exception breakpoint the
state
attribute has no effect. I checked on versions of xdebug: v3.1.6, v3.2.0, v3.2.1.I looked at how this functionality is implemented in
PhpStorm
andVSCode
using the xdebug log file.There breakpoint enable/disable is implemented via
breakpoint_set
/breakpoint_remove
commands.For the same reason, I removed the
breakpoint_set
command for a disabled breakpoint when debugging starts.3) Fixed a bug where the previous breakpoint was displayed as the current breakpoint in the breakpoint list if the current breakpoint was not found.