Votes
For: 1 (100%)
Against: 0 (0%)
Total: 1
January 18, 2012 12:52 PM
Arturo
When expanding a long array of objects in the division of the main window that displays the variables, the expanded list object will wrap the index numbering for the collection after 31.
For example:
> 28
> 29
> 30
> 31
>0
>1
>2
The index wraps to 0 after each occurrence of 32 elements.
For example:
> 28
> 29
> 30
> 31
>0
>1
>2
The index wraps to 0 after each occurrence of 32 elements.
January 29, 2019 09:46 AM
outis
This is due in part to XDebug's 'max_children' feature (https://xdebug.org/docs-dbgp.php#feature-names), which limits the number of elements retrieved for each 'property_get' command.
The other part is that `VariableNode-dynamicChildren`, which calls `DebugController-fetchChildProperties:` as long as the number of children retrieved is less than the 'numchildren' attribute for the parent property. This is what causes the 'property_get' to be issued. However, since 'property_get' doesn't specify which property page to get, it always gets page 0, thus always retrieves the first 'max_children' properties.
The other part is that `VariableNode-dynamicChildren`, which calls `DebugController-fetchChildProperties:` as long as the number of children retrieved is less than the 'numchildren' attribute for the parent property. This is what causes the 'property_get' to be issued. However, since 'property_get' doesn't specify which property page to get, it always gets page 0, thus always retrieves the first 'max_children' properties.
September 4, 2019 02:17 PM
Robert
This is fixed in master. The debugger now properly calls property_get multiple times to keep the array indices.
On September 4, 2019 02:17 PM, Robert changed:
- Status from "Unconfirmed" to "Closed"
- Resolution from "Open" to "Fixed"