summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/phpdbg_watch.c
Commit message (Collapse)AuthorAgeFilesLines
* Use ZEND_UNREACHABLE() instead of ZEND_ASSERT(0)Christoph M. Becker2020-06-161-2/+2
| | | | | | | | | Instead of marking unreachable code with `ZEND_ASSERT(0)`, we introduce `ZEND_UNREACHABLE()`, so that MSVC which does not consider `assert(0)` to mark unreachable code does no longer trigger C4715[1] warnings in debug builds. This may be useful for other compilers as well. [1] <https://docs.microsoft.com/de-de/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4715?view=vs-2019>
* Fix phpdbg watchpoints wrt. negative_array_index RFCChristoph M. Becker2020-06-051-3/+5
| | | | | | | | The implementation of that RFC changed the initial value of `zend_array.nNextFreeElement` to `-1`; we work around that by inserting first, and retrieving the index afterwards. We also fix the erroneous printf specifier for the unsigned integer.
* Merge branch 'PHP-7.4'Christoph M. Becker2020-06-021-2/+3
|\ | | | | | | | | * PHP-7.4: Fix #73927: phpdbg fails with windows error prompt at "watch array"
| * Fix #73927: phpdbg fails with windows error prompt at "watch array"Christoph M. Becker2020-06-021-2/+3
| | | | | | | | | | | | We expect zvals, so we should request zvals. We also suppress spurious watchpoint removal notices.
* | Merge branch 'PHP-7.4'Christoph M. Becker2020-05-261-0/+12
|\ \ | |/ | | | | | | | | | | | | * PHP-7.4: Enable phpdbg tests on AppVeyor Make phpdbg test portable Fix several mostly Windows related phpdbg bugs Fix #73926: phpdbg will not accept input on restart execution
| * Fix several mostly Windows related phpdbg bugsChristoph M. Becker2020-05-261-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Properly initialize PHPDBG_G(watch_tmp) Otherwise that may cause segfaults in ZTS builds. * Deactivate potentially remaining watchpoints after REPL Otherwise the memory could still be protected, resulting in segfaults during shutdown. * NULL zend_handlers_table after freeing As of commit 4130fe4[1], the `zend_handlers_table` is explicitly freed in the `zend_vm_dtor()`. Since phpdbg (and maybe some other SAPIs) may restart the engine afterwards, we have to make sure that the table is also NULLed. * Only set context option if there is a context In other words, we must not follow the null pointer. * Cater to file handles without attached console File handles do not necessarily have an attached console (for instance, pipes do not), in which case `GetConsoleScreenBufferInfo()` fails. In this case we set a default value (`40`) for lines like on other systems. [1] <http://git.php.net/?p=php-src.git;a=commit;h=4130fe437a5db7ead1444d3748bd0fbad9829cb2>
* | Fix [-Wundef] warning in PHPDBG SAPIGeorge Peter Banyard2020-05-121-3/+3
| |
* | Fix #78880: Another bunch of spelling errorsMáté Kocsis2020-01-161-1/+1
| |
* | Remove mention of PHP major version in Copyright headersGabriel Caruso2019-09-251-2/+0
|/ | | | Closes GH-4732.
* Fix potentially uninitialized warnings in phpdbgNikita Popov2019-04-121-1/+2
|
* Remove yearly range from copyright noticeZeev Suraski2019-01-301-1/+1
|
* Fix some misspellingsGabriel Caruso2018-08-121-1/+1
|
* Fix some misspellingsGabriel Caruso2018-02-061-1/+1
|
* Trailing whitespacesGabriel Caruso2018-01-031-1/+1
| | | | Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
* year++Xinchen Hui2018-01-021-1/+1
|
* Added exceptions for ZEND_RC_DEBUGDmitry Stogov2017-11-021-0/+1
|
* Update copyright headers to 2017Sammy Kaye Powers2017-01-021-1/+1
|
* Fix phpdbg ZTS watchpoint+shutdown sequences & opcache+watchpointsBob Weinand2016-07-121-1/+1
|
* Rewrite watchpoints to be much more stableBob Weinand2016-07-111-819/+1084
| | | | | | | | 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.
* - get rid of EG(scope). zend_get_executed_scope() should be used instead.Dmitry Stogov2016-04-281-1/+3
| | | | - ichanged zval_update_constant_ex(). Use IS_TYPE_IMMUTABLE flag on shared constants and AST, instead of "inline_change" parameter.
* Fix bug #71575 removing extra semicolons outside macrosJames Titcumb2016-03-031-1/+1
|
* Merge branch 'PHP-5.6' into PHP-7.0Lior Kaplan2016-01-011-1/+1
|\ | | | | | | | | * PHP-5.6: Happy new year (Update copyright to 2016)
| * Happy new year (Update copyright to 2016)Lior Kaplan2016-01-011-1/+1
| |
| * bump yearXinchen Hui2015-01-151-1/+1
| |
| * go back with phpdbg to the state of 5.6.3, reverting the controversial ↵Ferenc Kovacs2014-11-261-77/+151
| | | | | | | | commits(remote debugging/xml protocol)
* | Prevent memcmp() result truncationBob Weinand2015-10-131-3/+3
| | | | | | | | This fixes reported issues with sapi/phpdbg/tests/watch_001.phpt
* | Get rid of implicit type casting in GC_*() macros in Zend/zend_types.h.Dmitry Stogov2015-08-131-4/+4
| | | | | | | | | | | | This prevented compilation warnings and disclosed few incorrect usages in Zend/zend_vm_def.h and ext/dom/xpath.c. Now explicit type casting may be required on call site. This may break some C extension code, but it shoulfn't be a problem to add explicit casting.
* | Fix valgrind false positives with watchpointsBob Weinand2015-08-121-16/+38
| |
* | Fix [valid] valgrind warnings, add first watchpoints testBob Weinand2015-07-151-10/+15
| |
* | Reimplemented ability to get debug info (C source file and line number) in ↵Dmitry Stogov2015-08-111-1/+3
| | | | | | | | phpdbg without hacks and ABI breaks.
* | Fix printf format issues on 32 bitBob Weinand2015-07-231-21/+8
| |
* | Use ZSTR_ API to access zend_string elements (this is just renaming without ↵Dmitry Stogov2015-06-301-9/+9
| | | | | | | | semantick changes).
* | Stabilize watchpointsBob Weinand2015-04-191-144/+444
| |
* | Fix parent command offsetsBob Weinand2015-03-211-3/+4
| |
* | Stabilize (simple) watchpoints with IS_INDIRECT/IS_REFERENCE situationsBob Weinand2015-03-211-59/+81
| |
* | s/PHP Version 5/PHP Version 7/gLior Kaplan2015-03-131-1/+1
| | | | | | | | Follow up for d0cb7153
* | Fixed compile warningsWei Dai2015-03-091-1/+1
| |
* | Merged zend_array and HashTable into the single data structure.Dmitry Stogov2015-02-131-3/+3
| | | | | | | | | | Now each HashTable is also zend_array, so it's refcounted and may be a subject for Copy on Write zend_array_dup() was changed to allocate and return HashTable, instead of taking preallocated HashTable as argument.
* | bump yearXinchen Hui2015-01-151-1/+1
| |
* | second shot on removing TSRMLS_*Anatol Belski2014-12-141-1/+1
| |
* | first shot remove TSRMLS_* thingsAnatol Belski2014-12-131-89/+86
| |
* | Made phpdbg compatible with new engineBob Weinand2014-10-241-299/+340
|\ \ | |/
| * Merge phpdbg into PHP-5.6Bob Weinand2014-10-241-151/+77
| |
| * Merge sapi/phpdbg into PHP-5.6Bob Weinand2014-06-031-1/+1
| |
* | s/PHP 5/PHP 7/Johannes Schlüter2014-09-191-1/+1
| |
* | master renames phase 1Anatol Belski2014-08-251-5/+5
| |
* | basic macro replacements, all at onceAnatol Belski2014-08-191-5/+5
| |
* | PHP 5.4/5.5 compability in phpdbg_watch.cBob Weinand2014-06-031-1/+1
|/
* Merge remote-tracking branch 'phpdbg/master' into PHP-5.6Anatol Belski2014-04-271-2/+4
| | | | | * phpdbg/master: C89 compat
* Merge remote-tracking branch 'phpdbg/master' into PHP-5.6Anatol Belski2014-04-261-1/+1
| | | | | | | * phpdbg/master: removed /EHa as __try/__catch syntax is used anyway fix ZEND_DEBUG usage fix CFLAGS_PHPDBGS and some formatting