Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[hphpd] fixed a couple of issues around the debugger
Summary: - found a huge bug with the way how Constants are stored with ClassInfo. Before the diff, there are thread-local constants got into m_constants of ClassInfos. That's really bad. Not only these variants are co-accessed by multiple threads without setStatic() protection, which isn't available to STDIN, STDOUT and STDERR objects, but also a separate thread can simply sweep them and crash other threads or new requests almost immediately. I think we're lucky that people don't get constant's values on production. But this definitely caused debugger to crash mysteriously. - made breakpoint's index monotonically increasing without re-index. - added DebuggerDump for special serialization of variables for better display of variables. - breakpoints now matching BaseClass::method() if ThisClass::method() isn't present. - added "exception error" command to catch errors, warning, notices and fatals. - fixed some minor issues with "list" command after "frame" commands. Test Plan: manual test DiffCamp Revision: 151804 Reviewed By: mwilliams CC: mwilliams, hphp-diffs@lists Revert Plan: OK
- Loading branch information
Showing
25 changed files
with
286 additions
and
118 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.