]> granicus.if.org Git - php/commit
Rewrite watchpoints to be much more stable
authorBob Weinand <bobwei9@hotmail.com>
Mon, 11 Jul 2016 21:28:14 +0000 (23:28 +0200)
committerBob Weinand <bobwei9@hotmail.com>
Mon, 11 Jul 2016 21:58:20 +0000 (23:58 +0200)
commitb00376884e00aa04614dd650e119aad653c1f16b
tree9531526edb549ef5eae6ada0d6a6969dfe085e46
parent1223f7f91b63d37c1282c05c0fab5a16bc83bbf1
Rewrite watchpoints to be much more stable

This mainly involves a separate abstraction layer for elements (e.g. $a->b) and watchpoints (on pointer of the Bucket for example).
Also better comparison handling (value backup vs. page dumps).

It is not yet finished (there are sometimes false positives announced and names not yet perfect), but the functionality is working and not crashing as far as I have tested.
Future scope is also relative watchpoints, e.g. "w $this->val expression()" which does not have the symbol tables as basis, but the value (in this example: return value of expression()) as basis.
18 files changed:
Zend/zend.c
main/SAPI.c
sapi/phpdbg/phpdbg.c
sapi/phpdbg/phpdbg.h
sapi/phpdbg/phpdbg_btree.c
sapi/phpdbg/phpdbg_btree.h
sapi/phpdbg/phpdbg_list.c
sapi/phpdbg/phpdbg_list.h
sapi/phpdbg/phpdbg_prompt.c
sapi/phpdbg/phpdbg_utils.c
sapi/phpdbg/phpdbg_watch.c
sapi/phpdbg/phpdbg_watch.h
sapi/phpdbg/tests/watch_001.phpt
sapi/phpdbg/tests/watch_002.phpt [new file with mode: 0644]
sapi/phpdbg/tests/watch_003.phpt [new file with mode: 0644]
sapi/phpdbg/tests/watch_004.phpt [new file with mode: 0644]
sapi/phpdbg/tests/watch_005.phpt [new file with mode: 0644]
sapi/phpdbg/tests/watch_006.phpt [new file with mode: 0644]