View Issue Details

IDProjectCategoryView StatusLast Update
0001969XdebugStep Debuggingpublic2021-10-04 09:32
Reporterlogancollins Assigned Toderick  
PrioritynormalSeveritytweakReproducibilityN/A
Status closedResolutionfixed 
PlatformMacOSmacOSOS Version11
Product Version3.0.4 
Target Version3.1devFixed in Version3.1.0 
Summary0001969: Provide breakpoint ID / info in DBGp run command responses
Description

Would it be possible to provide information in the response of run commands invoked about the breakpoint that was hit (in cases where the debugger is breaking due to a breakpoint)? Currently, the response only contains the text "break" in the status string of the base DBGp protocol. This lets clients know that a breakpoint was hit, but not necessarily which one or of what type it was.

Some reasoning for this:

I'm in the process of integrating Xdebug support into the Nova IDE, which will support additional UI "actions" on each breakpoint that can be invoked when that breakpoint is hit. These are actions like "play a sound", "log a message", "invoke a debugger command". Things that the Xdebug / DBGp protocol don't need to handle in any way.

But, in order to make them work, I'd need knowledge of which breakpoint caused the run to stop. Given a line breakpoint, it's possible to check to see which are set on or near that line to infer which it might be, but with a call / return breakpoint there doesn't seem to be a good way to infer such information.

I believe that the breakpoint ID alone would likely be enough for this, but if in addition the breakpoint type was provided as well, it might be useful.

If this is actually already possible, please excuse my missing it. I examined the responses of the run command as well as the rest of the DBGp protocol and haven't yet found a good way to do this.

Thank you for considering!

TagsNo tags attached.
Operating SystemmacOS 11
PHP Version8.0.0-8.0.4

Activities

derick

2021-05-03 14:26

administrator   ~0005867

https://github.com/xdebug/xdebug/pull/742

derick

2021-05-03 14:27

administrator   ~0005868

The breakpoint information will only be included when you enable the 'breakpoint_details' feature through the 'feature_set' DBGp command. Have a look at how the test cases do that:
https://github.com/xdebug/xdebug/blob/master/tests/debugger/dbgp-breakpoint-call-function.phpt#L14

logancollins

2021-05-03 16:37

reporter   ~0005869

Thank you for adding this!

derick

2021-05-04 16:24

administrator   ~0005870

I'm changing the name of the sub=element from "xdebug:breakpoint" to just "breakpoint": https://github.com/xdebug/xdebug/pull/743

Issue History

Date Modified Username Field Change
2021-04-23 04:47 logancollins New Issue
2021-04-28 15:42 derick Target Version => 3.1dev
2021-05-03 14:26 derick Assigned To => derick
2021-05-03 14:26 derick Status new => closed
2021-05-03 14:26 derick Resolution open => fixed
2021-05-03 14:26 derick Fixed in Version => 3.1dev
2021-05-03 14:26 derick Note Added: 0005867
2021-05-03 14:27 derick Note Added: 0005868
2021-05-03 16:37 logancollins Note Added: 0005869
2021-05-04 16:24 derick Note Added: 0005870
2021-09-05 16:15 derick Fixed in Version 3.1dev => 3.1.0beta1
2021-10-04 09:32 derick Fixed in Version 3.1.0beta1 => 3.1.0