Christoph M. Becker
af4a9bf1bf
Fix #73927 : phpdbg fails with windows error prompt at "watch array"
...
We expect zvals, so we should request zvals.
We also suppress spurious watchpoint removal notices.
2020-06-02 15:17:40 +02:00
Christoph M. Becker
8483a21f29
Fix several mostly Windows related phpdbg bugs
...
* 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 >
2020-05-26 17:45:25 +02:00
Nikita Popov
2149ed7072
Don't use zmm for PHPDBG_G(exec)
...
Uses system allocator when backing up settings ... let's avoid
unnecessary confusion.
2019-06-27 14:20:30 +02:00
Nikita Popov
c09b63595e
Fix potentially uninitialized warnings in phpdbg
2019-04-12 11:46:03 +02:00
Zeev Suraski
0cf7de1c70
Remove yearly range from copyright notice
2019-01-30 11:03:12 +02:00
Nikita Popov
7ec8087f80
Introduce get_properties_for() handler
...
This handler allows getting the object properties for a particular
purpose, such as array casting, serialization, etc.
2018-10-10 10:39:10 +02:00
Dmitry Stogov
92fdf9d629
Change zend_lookup_class_ex() and zend_fetch_class_by_name() prototypes to accept optional lower-case class name as zend_string*, instead of zval*.
2018-08-22 17:07:31 +03:00
Dmitry Stogov
dd932f7e63
Changed php_add[c]slashes prototypes (removed should_free argument)
2018-06-29 00:19:16 +03:00
Dmitry Stogov
ca035f26aa
Moved "zval.u2.cache_slot" into free room of "zend_op"
2018-02-05 19:41:47 +03:00
Dmitry Stogov
ba298725d1
Changed CATCH instruction format (extended_value moved into op2, op2 into result, result into extended_value)
2018-01-31 22:39:30 +03:00
Xinchen Hui
a6519d0514
year++
2018-01-02 12:57:58 +08:00
Dmitry Stogov
ef5ea48741
Always use IS_CONSTANT_AST (IS_CONSTANT is removed).
2017-10-10 10:11:05 +03:00
Dmitry Stogov
cb9d81ef4f
Refactored recursion pretection
2017-10-06 01:34:50 +03:00
Dmitry Stogov
e70618aff6
Changed the way VM accesses constant operands in 64-bit builds.
2017-10-04 16:53:01 +03:00
Sammy Kaye Powers
9e29f841ce
Update copyright headers to 2017
2017-01-02 09:30:12 -06:00
Bob Weinand
ef657978b2
Merge branch 'PHP-7.0' into PHP-7.1
2016-11-13 13:22:35 +01:00
Bob Weinand
ba75d4c50b
Properly escape all filenames when exporting breakpoints
2016-11-13 13:22:06 +01:00
Bob Weinand
601ab6e9d0
Fix searching for catch blocks
...
Since PHP-7.1 catch blocks are addressed with relative byte difference between two catch blocks as opposed to absolute opcode number
2016-10-16 12:34:10 +02:00
Bob Weinand
b00376884e
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.
2016-07-11 23:58:20 +02:00
Nikita Popov
24551ed6c8
Print .0 in phpdbg opcode dumps
2016-03-25 19:11:32 +01:00
James Titcumb
c4b188871e
Fix bug #71575 removing extra semicolons outside macros
2016-03-03 16:41:03 +01:00
Nikita Popov
c9357f82d3
Format string fixes
...
Conflicts:
ext/pgsql/pgsql.c
2016-02-14 14:45:53 +01:00
Lior Kaplan
ed35de784f
Merge branch 'PHP-5.6' into PHP-7.0
...
* PHP-5.6:
Happy new year (Update copyright to 2016)
2016-01-01 19:48:25 +02:00
Lior Kaplan
49493a2dcf
Happy new year (Update copyright to 2016)
2016-01-01 19:21:47 +02:00
Felipe Pena
f231ddddaf
- Implemented output paging
2015-10-18 12:08:04 -02:00
Bob Weinand
0c60524190
Fixed bug #70214 (FASYNC possibly not defined)
2015-08-08 15:53:27 +02:00
Bob Weinand
64f25adb6b
Remove -Wunused-result warnings
2015-07-27 15:02:01 +02:00
Bob Weinand
13525328ed
Cleanup shutdown, enable proper memory leak displaying
...
phpdbg should not memory leak...
2015-07-24 17:17:26 +02:00
Bob Weinand
75a3de0cd8
Fix misbehaviors with uncaught exceptions and finally or eval
2015-07-20 18:00:43 +02:00
Nikita Popov
20e5027293
Switch asprintf to spprintf in phpdbg opcode dump
...
Also use %td where appropriate, a lot of the values are ptrdiff
based.
Fix a leak in phpdbg_frame.c.
2015-07-17 16:53:07 +02:00
Dmitry Stogov
7aa7627172
Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes).
2015-06-30 13:59:27 +03:00
Bob Weinand
088f589f7d
Make backtraces *much* more readable
2015-06-29 02:51:10 +02:00
Bob Weinand
5bec1490f9
Fix phpdbg class fetch / method opcodes
2015-05-27 00:55:26 +02:00
Bob Weinand
e09a0bfc9e
Also consider specific catches when checking for uncaught
2015-04-22 01:08:08 +02:00
Bob Weinand
73d31d44e8
Break on uncaught exceptions in current frame in phpdbg
2015-04-22 01:08:07 +02:00
Bob Weinand
f83ee6a05d
Add next command / Fix recursion/exceptions with u/F/L
2015-04-21 12:31:57 +02:00
Bob Weinand
740c86bcbd
Stabilize watchpoints
2015-04-19 12:53:29 +02:00
Bob Weinand
97887e3716
Stabilize (simple) watchpoints with IS_INDIRECT/IS_REFERENCE situations
2015-03-21 23:16:53 +01:00
Lior Kaplan
a4384bd3d4
s/PHP Version 5/PHP Version 7/g
...
Follow up for d0cb7153
2015-03-13 11:09:42 +02:00
Xinchen Hui
da7d94cd73
Merge branch 'PHP-5.6'
...
Conflicts:
ext/soap/soap.c
ext/standard/basic_functions.c
ext/zlib/zlib.c
2015-02-13 13:28:24 +08:00
Xinchen Hui
fc33f52d8c
bump year
2015-01-15 23:27:30 +08:00
Xinchen Hui
0579e8278d
bump year
2015-01-15 23:26:37 +08:00
Anatol Belski
bdeb220f48
first shot remove TSRMLS_* things
2014-12-13 23:06:14 +01:00
Ferenc Kovacs
0afc04b913
go back with phpdbg to the state of 5.6.3, reverting the controversial commits(remote debugging/xml protocol)
2014-11-26 18:38:36 +01:00
Bob Weinand
2bcac53bca
Made phpdbg compatible with new engine
2014-10-24 19:29:50 +02:00
Bob Weinand
9b4d9ac6c7
Merge phpdbg into PHP-5.6
2014-10-24 19:22:45 +02:00
Johannes Schlüter
d0cb715373
s/PHP 5/PHP 7/
2014-09-19 18:33:14 +02:00
Remi Collet
0da5d94a6c
Better fix for phpdbg + libedit
...
- fix include
- disable coloured prompt only with libedit
2014-06-23 10:21:19 +02:00
Remi Collet
0febafcfbe
Fix https://github.com/krakjoe/phpdbg/issues/91
...
Enable edit feature when build with libedit.
Notice: coloured prompt only enable with READLINE
2014-06-23 10:21:19 +02:00
Remi Collet
98d41dfc9d
Better fix for phpdbg + libedit
...
- fix include
- disable coloured prompt only with libedit
2014-06-23 10:17:43 +02:00