View Issue Details

IDProjectCategoryView StatusLast Update
0000131XdebugUncategorizedpublic2006-01-23 00:30
Reporterjeffg Assigned Toderick  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionopen 
Summary0000131: XDebug needs to implement paged child object requests
DescriptionPlease see the example code below, which recursively creates objects. Performance slowdown when debugging this script in Komodo is huge because Komodo is required to request all children from xdebug at once instead of being able to page through them like it can with Python or Perl.
Additional Information<?php

$arraysize = 1000 ;
$withobjects = true ;
$withlinks = true && $withobjects ;
$withrecursion = false && $withlinks ;

    static $objects ;

class TestClass
    {


    var $that ;

    var $prop1 ;
    var $prop2 ;
    var $prop3 ;
    var $prop4 ;
    var $prop5 ;
    var $prop6 ;
    var $prop7 ;
    var $prop8 ;
    var $prop9 ;
    var $prop10 ;

    function TestClass ($that = null, $recursivelink = false)
        {
        if (!is_null ($that))
            {
            $this->that = $that ;
            if ($recursivelink)
                $that->that = $this ;
            }
        }

    }

$objects = array () ;
for ($i = 0 ; $i != $arraysize ; $i++)
    $objects[] = $withobjects ? new TestClass () : "test string" ;

if ($withlinks)
    for ($i = 0 ; $i != 1000 ; $i++)
        $objects[] = new TestClass ($objects[$i], $withrecursion) ;

?>
<html>
    <head>
        <title>Leak Test</title>
    </head>
    <body>
        <h1>Leak Test</h1>
        

<?
            echo count ($objects) ;
        ?>


        

<?
            echo count ($objects) ;
        ?>


        

<?
            echo count ($objects) ;
        ?>


        

<?
            echo count ($objects) ;
        ?>


    </body>
</html>
TagsNo tags attached.
Operating System
PHP Version4.3.11

Activities

derick

2006-01-23 00:30

administrator   ~0000356

Fixed in CVS, but it doesn't handle it correctly when max_depth is larger than one. The protocol specs don't have information on how to handle this either - so we need to discuss this.

Issue History

Date Modified Username Field Change
2005-07-05 00:47 jeffg New Issue
2005-07-07 15:26 derick Status new => assigned
2005-07-07 15:26 derick Assigned To => derick
2006-01-17 23:27 derick PHP Version 4.3.10 => 4.3.11
2006-01-17 23:27 derick Category Feature/Change request => Usage problems
2006-01-23 00:30 derick Status assigned => closed
2006-01-23 00:30 derick Note Added: 0000356
2016-07-31 12:36 derick Category Usage problems => Usage problems (Crashes)
2016-07-31 12:38 derick Category Usage problems (Crashes) => Usage problems (Wrong Results)
2020-03-12 16:35 derick Category Usage problems (Wrong Results) => Variable Display
2020-03-12 16:38 derick Category Variable Display => Uncategorized