Commit Graph

61 Commits

Author SHA1 Message Date
Ilija Tovilo
0d54b53467
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix dumping of zend_string.val in gdb
2024-01-23 12:55:47 +01:00
Ilija Tovilo
f18710e362
Fix dumping of zend_string.val in gdb
char val[1] is now interpreted as a single-character string by gdb, rather than
char*.

Closes GH-13222
2024-01-23 12:55:24 +01:00
Max Kellermann
413844d626
Zend/zend_types.h: deprecate zend_bool, zend_intptr_t, zend_uintptr_t (#10597)
These types are standard C99.

For compatibility with out-of-tree extensions, keep the typedefs
in main/php.h.
2023-02-18 19:31:28 +00:00
Arnaud Le Blanc
c654973c02
.gdbinit: Update print_ht for new compact packed arrays representation (#8966) 2022-07-11 18:04:56 +02:00
Nikita Popov
304190c49d Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  .gdbinit: make zbacktrace show the correct stack when switching threads
2021-04-05 21:11:19 +02:00
Dylan K. Taylor
50f476591f .gdbinit: make zbacktrace show the correct stack when switching threads
I found this mainly to be a problem when working with threading
extensions. zbacktrace doesn't show the correct stack when switching
threads.

Closes GH-6814.
2021-04-05 21:10:52 +02:00
Nikita Popov
5e57f37247 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  gdbinit: use ____print_str to print htable keys
2021-01-05 10:12:43 +01:00
Dylan K. Taylor
6b631f073d gdbinit: use ____print_str to print htable keys
I noticed this problem while dumping the contents of EG(function_table),
where keys for closures start with a null byte. printf interprets this
as a zero-length string and emits nothing. This allows the key to be
rendered properly in readable form.

Closes GH-6577.
2021-01-05 10:11:56 +01:00
Nikita Popov
1e4920c119 Renumber zval types, clarify allowed overlap
Make it clear that types used for type declarations can overlap
with the rest, and can also overlap in MAY_BE space.

This makes things more robust against the addition of new primitive
types.
2020-01-07 14:55:52 +01:00
Nikita Popov
9e8ba7891e Change representation of zend_type from type code to MAY_BE_* mask
This switches zend_type from storing a single IS_* type code to
storing a MAY_BE_* type mask. Right now most code still assumes
that there is only a single type in the mask (or two together
with MAY_BE_NULL). But this will make it a lot simpler to introduce
union types.

An additional advantage (and why I'm doing this separately), is
that a number of special cases no longer need to be handled
separately: We can do a single mask & (1 << type) check to handle
all simple types, booleans (true|false) and null.
2019-09-23 15:31:35 +02:00
Nikita Popov
d73789ef91 Sync types in .gdbinit, improve property dumping
If an object doesn't have a property table, we need to go through
the property into table and read the corresponding slots.
2019-02-26 17:26:16 +01:00
Peter Kokot
37c329d715 Trim trailing whitespace in source code files 2018-10-13 14:17:28 +02:00
Mitch Hagstrand
34fb42970a Adds print_global_vars to gdbinit 2018-05-26 22:05:06 +02:00
Mitch Hagstrand
da5db1c9b2
Fixed print_const_table function and zval types in ____printzv_contents
1. Fixed print_const_table to work in ZE3
2. Removed ____print_const_table to use more generic ____print_ht
3. Fixed up zval types in ____printzv_contents
2018-02-15 08:57:32 +01:00
Mitch Hagstrand
01f7998db0 Enhancements and fixes for print_pi in gdbinit
1) Outputs the default value and the offset of a property
2) Fixed output of property flags
2018-02-10 19:18:39 +01:00
Mitch Hagstrand
8ba6d622e5 Removing zmemcheck from .gdbinit
It doesn't seem to make sense anymore
2017-01-18 21:19:48 +01:00
Mitch Hagstrand
db894fa6aa
Fixes in .gdbinit for ZE 3
1. Fixed print_pi function
2. Fixed printing properties in ____printzv_contents
3. Added optional max length parameter in ____print_str
2017-01-17 17:07:31 +00:00
Mitch Hagstrand
1ee1f79e27
Fixed bug #72680 gdbinit print_cvs not prepared for PHP 7 2017-01-12 09:10:12 +00:00
Mitch Hagstrand
9ad3413190 Add print zend string function to gdbinit 2017-01-09 23:22:49 +01:00
Hannes Magnusson
874dcd8f73 Doubles are not refcounted 2015-09-01 14:52:04 -07:00
Xinchen Hui
af8b6ac310 Merge branch 'patch-gdbinit' of https://github.com/adsr/php-src 2015-08-18 22:51:09 +08:00
Michael Wallner
e6e5defb31 fix printzv (refcount) 2015-08-18 08:20:12 +02:00
Adam Saponara
d27a8a7dcb Prevent warning when printing arrays in gdb 2015-08-14 14:22:55 -04:00
Xinchen Hui
97433d8f6e Fixed dumpbt 2015-08-14 16:20:53 +08:00
Xinchen Hui
20597ecfb7 Fixed print_ht 2015-06-15 22:31:01 +08:00
Dmitry Stogov
f0d9d1828b Fixed dump_bt and printzv 2015-02-09 22:43:22 +03:00
Nikita Popov
b7e139a59c Fix incdec of referenced properties
I thought these SEPARATE_ZVAL_IF_NOT_REF usages were safe at first,
because incdec op supports reference variables. However this
violates the constraint that IS_TMP_VAR variables may not be
references (which is an issue if you use the result of the incdec
op).

Still need to fix the cases where read_property/write_property is
used.
2014-10-12 20:55:52 +02:00
Xinchen Hui
6d2ca4b508 it's good for gc debuging 2014-09-16 14:15:01 +08:00
Xinchen Hui
537344161f Fixed zbacktrace 2014-08-28 17:03:27 +08:00
Nikita Popov
b5e36ec236 Make gdb dumpbt work again (at least partially) 2014-07-08 15:33:03 +02:00
Nikita Popov
d1ae74a1a5 Improve gdb ht and zval dumps 2014-05-29 12:47:40 +02:00
Nikita Popov
afd8a02160 A few more fixes and improvements for gdbinit 2014-05-29 00:15:50 +02:00
Nikita Popov
a6d33eb654 Clamb gdb string output at 256 chars 2014-05-28 18:22:19 +02:00
Nikita Popov
bdeeddbb80 Fix parts of .gdbinit 2014-05-25 19:04:33 +02:00
Xinchen Hui
15e9bfa048 Update .gdbinit 2014-02-20 18:30:06 +08:00
Rasmus Lerdorf
527ac404a1 The printf modifier for a double is just %f 2013-04-01 16:27:09 -07:00
Xinchen Hui
8e9805bb79 Now we can set the tsrm_ls manually
get(ZTS build):
(gdb) zbacktrace
You can't do that without a process to debug.
(gdb) set_ts 0x4112500
(gdb) zbacktrace
[0x2b232e83a1d8] call_user_func(array(2)[0x2b232e879528],
array(1)[0x2b232e878fa0]) /tmp/1.php:4
[0x7fffcb2efd80] A->__call("xxx", array(1)[0x2b232e878fa0])
2012-10-02 00:02:08 +08:00
Stanislav Malyshev
c95fd5f758 Merge branch 'pull-request/209' into PHP-5.4
* pull-request/209:
  Eliminate process running requirement of dump_bt in .gdbinit
  Add missing ____executor_globals in dump_bt if needed
  Implemented FR #63188 (Display class name when debugging with gdb macro zbacktrace)
2012-09-30 20:31:36 -07:00
Reeze Xia
dedbba4e5b Eliminate process running requirement of dump_bt in .gdbinit
Most of the time scope are avaible, but if not, it will be hard to get them,
since we can't call function if no proccess running. try to get class name
if we can.
2012-10-01 03:10:15 +08:00
Reeze Xia
752280d4d2 Add missing ____executor_globals in dump_bt if needed 2012-09-30 23:05:03 +08:00
Reeze Xia
613674c7a2 Implemented FR #63188 (Display class name when debugging with gdb macro zbacktrace) 2012-09-30 03:16:26 +08:00
Xinchen Hui
49e9d8f351 Fix wrong type in the marco of fetching thread globals 2012-03-11 15:12:28 +00:00
Xinchen Hui
ded11f4258 Use zbacktrace_ex instead of zbacktrace(actullay is dump_bt)
Use %p instead of "0x08x" (IMO this is used for print pointer, which, unfortunately, don't work under x64)
If there is any wrong, plz revert this, thanks
2011-12-06 12:32:59 +00:00
Xinchen Hui
17f5bf2ed9 Add zbacktrace_ex to .gdbinit which will print extra argument info than zbacktrace
Implement FR #60448
2011-12-06 09:56:01 +00:00
Derick Rethans
e4e7e2b8ee - Added a function to print all CVs from the local scope. 2009-08-01 12:55:36 +00:00
Marcus Boerger
edc7e3054e - MFH Add compiler globals as 2009-01-04 15:20:19 +00:00
Andrei Zmievski
ea74505927 Fix macros after GC patch. 2007-10-14 02:48:30 +00:00
Marcus Boerger
a4e3f29771 - MFH Add print_htptr, print_htstr 2007-05-20 21:46:17 +00:00
Michael Wallner
55f0daf65d - treat interfaces and classes gracefully in print_inh 2006-05-05 15:49:41 +00:00
Michael Wallner
78d11cbc70 - add print_inh (prints a very simple class tree, ie. extensible)
- add print_pi (prints property_info)
- add ____print_str (print strings binary safely, for hash keys etc)
2006-05-05 15:14:37 +00:00