Skip to content
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

Fixed issue #1388: Support 'resolved' flag for breakpoints #463

Merged
merged 2 commits into from May 6, 2019

Conversation

@derickr
Copy link
Contributor

derickr commented Apr 8, 2019

  • breakpoint_resolved plumbing, and resolving for ‘line’ if it’s the right line
  • Resolve for lines inside the same function, or (static) method
  • Resolve for top-level script
  • Resolve in include files
  • Resolve in closures
  • Resolve in eval files
  • Resolve function entry breakpoints
  • Resolve function exit breakpoints
  • Resolve exception breakpoints
  • Remove debug information: xdebug_xml_add_attribute(xml, "xdebug:debug-tmp-resolved", "tmp-resolved");
  • Remove debug information: dbgp_log(*)
@derickr derickr force-pushed the derickr:issue1388-breakpoint-resolved branch 5 times, most recently from 40905e1 to 24d4340 Apr 8, 2019
@derickr

This comment has been minimized.

Copy link
Contributor Author

derickr commented Apr 15, 2019

@SvetlanaZem — You can track the work on breakpoint_resolved here.

@derickr derickr force-pushed the derickr:issue1388-breakpoint-resolved branch 6 times, most recently from 6f903b9 to 53600b9 Apr 19, 2019
@derickr derickr force-pushed the derickr:issue1388-breakpoint-resolved branch 2 times, most recently from 89b2aa0 to 24398bf Apr 29, 2019
derickr added 2 commits Apr 6, 2019
Refactor constant names for user-defined (userland) and built-in PHP functions

Added plumbing for resolved_breakpoints functionality

Refactor remote log feature into a helper function

Prefix BREAKPOINT_TYPE_* constants with XDEBUG_

Added 'breakpoint_resolved' notifications for lines that can be broken on

Scan lines before and after 'line' breakpoint location to try to resolve lineno

Remove check for '{main}' as it's irrelevant, and add tests

Added 'breakpoint_resolved' for main and included files

Don't use temporary 'TMP_RESOLVED', as we (annoyingly) always need to recheck

Refactor breakpoint types to not sure string comparisons

Swap order of pre-requisites in order to have the quick checks first

Change test suite to do better filename sanitation

Use spans to prevent loads of notifications and 'flipping'

Move logging to debug handlers, and rephrase log messages

Implement resolving and correct evaluation of breakpoints in eval statements

Refactor helper to a 'switch' to be able to resolve other types

Reset resolved values if they exactly match the original breakpoint info after a previous flip

Add support for resolving call/return breakpoints

Turn breakpoint type constants into bit values, so it can be used as a bitset

Add missing 'exception' attribute to breakpoint_list output

Refactor brk_info struct to contain the breakpoint ID as 'id' member

This is so that we don't always need an xdebug_brk_admin struct in many
operations.

Add support for resolving exception breakpoints

Fixed issue #1388: Restrict search to maximum 10 lines from requested breakpoint

Fix tests due to change in testing framework
@derickr derickr force-pushed the derickr:issue1388-breakpoint-resolved branch from 24398bf to cbf9b60 May 6, 2019
@derickr derickr merged commit cbf9b60 into xdebug:master May 6, 2019
7 of 8 checks passed
7 of 8 checks passed
continuous-integration/appveyor/pr Waiting for AppVeyor build to complete
Details
ci/circleci: PHP 7 1 with opcache Your tests passed on CircleCI!
Details
ci/circleci: PHP 7 1 without opcache Your tests passed on CircleCI!
Details
ci/circleci: PHP 7 2 with opcache Your tests passed on CircleCI!
Details
ci/circleci: PHP 7 2 without opcache Your tests passed on CircleCI!
Details
ci/circleci: PHP 7 3 with opcache Your tests passed on CircleCI!
Details
ci/circleci: PHP 7 3 without opcache Your tests passed on CircleCI!
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
derickr added a commit that referenced this pull request May 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.