da03bc9353
Fix counted step outs, and add a test for all counted stepping commands.
246 linhas
4.6 KiB
Plaintext
246 linhas
4.6 KiB
Plaintext
Welcome to HipHop Debugger!
|
|
Type "help" or "?" for a complete list of commands.
|
|
|
|
Program %s/flow_multistep.php loaded. Type '[r]un' or '[c]ontinue' to go.
|
|
hphpd> break flow_multistep.php:58
|
|
Breakpoint 1 set on line 58 of flow_multistep.php
|
|
hphpd> run
|
|
C1 oh hai
|
|
C2 oh hai
|
|
C2 oh hai
|
|
C2 destructor
|
|
C1 oh hai
|
|
C1 destructor!
|
|
C2 destructor done
|
|
object(C1)#1 (1) {
|
|
["x":"C1":private]=>
|
|
int(0)
|
|
}
|
|
Breakpoint 1 reached at main() on line 58 of %s/flow_multistep.php
|
|
57 var_dump($d);
|
|
58 var_dump(a(42));
|
|
59 }
|
|
|
|
hphpd> step 8
|
|
Break at main() on line 58 of %s/flow_multistep.php
|
|
57 var_dump($d);
|
|
58 var_dump(a(42));
|
|
59 }
|
|
|
|
hphpd> continue
|
|
int(46)
|
|
C1 destructor!
|
|
C2 destructor
|
|
C1 oh hai
|
|
C1 destructor!
|
|
C2 destructor done
|
|
Program %s/flow_multistep.php exited normally.
|
|
hphpd> run
|
|
C1 oh hai
|
|
C2 oh hai
|
|
C2 oh hai
|
|
C2 destructor
|
|
C1 oh hai
|
|
C1 destructor!
|
|
C2 destructor done
|
|
object(C1)#3 (1) {
|
|
["x":"C1":private]=>
|
|
int(0)
|
|
}
|
|
Breakpoint 1 reached at main() on line 58 of %s/flow_multistep.php
|
|
57 var_dump($d);
|
|
58 var_dump(a(42));
|
|
59 }
|
|
|
|
hphpd> step 4
|
|
Break at d() on line 17 of %s/flow_multistep.php
|
|
16 function d($a) {
|
|
17 return $a + 1;
|
|
18 }
|
|
|
|
hphpd> step 4
|
|
Break at main() on line 58 of %s/flow_multistep.php
|
|
57 var_dump($d);
|
|
58 var_dump(a(42));
|
|
59 }
|
|
|
|
hphpd> continue
|
|
int(46)
|
|
C1 destructor!
|
|
C2 destructor
|
|
C1 oh hai
|
|
C1 destructor!
|
|
C2 destructor done
|
|
Program %s/flow_multistep.php exited normally.
|
|
hphpd> run
|
|
C1 oh hai
|
|
C2 oh hai
|
|
C2 oh hai
|
|
C2 destructor
|
|
C1 oh hai
|
|
C1 destructor!
|
|
C2 destructor done
|
|
object(C1)#5 (1) {
|
|
["x":"C1":private]=>
|
|
int(0)
|
|
}
|
|
Breakpoint 1 reached at main() on line 58 of %s/flow_multistep.php
|
|
57 var_dump($d);
|
|
58 var_dump(a(42));
|
|
59 }
|
|
|
|
hphpd> step 4
|
|
Break at d() on line 17 of %s/flow_multistep.php
|
|
16 function d($a) {
|
|
17 return $a + 1;
|
|
18 }
|
|
|
|
hphpd> next 4
|
|
Break at main() on line 58 of %s/flow_multistep.php
|
|
57 var_dump($d);
|
|
58 var_dump(a(42));
|
|
59 }
|
|
|
|
hphpd> continue
|
|
int(46)
|
|
C1 destructor!
|
|
C2 destructor
|
|
C1 oh hai
|
|
C1 destructor!
|
|
C2 destructor done
|
|
Program %s/flow_multistep.php exited normally.
|
|
hphpd> run
|
|
C1 oh hai
|
|
C2 oh hai
|
|
C2 oh hai
|
|
C2 destructor
|
|
C1 oh hai
|
|
C1 destructor!
|
|
C2 destructor done
|
|
object(C1)#7 (1) {
|
|
["x":"C1":private]=>
|
|
int(0)
|
|
}
|
|
Breakpoint 1 reached at main() on line 58 of %s/flow_multistep.php
|
|
57 var_dump($d);
|
|
58 var_dump(a(42));
|
|
59 }
|
|
|
|
hphpd> step 4
|
|
Break at d() on line 17 of %s/flow_multistep.php
|
|
16 function d($a) {
|
|
17 return $a + 1;
|
|
18 }
|
|
|
|
hphpd> out 4
|
|
Break at main() on line 58 of %s/flow_multistep.php
|
|
57 var_dump($d);
|
|
58 var_dump(a(42));
|
|
59 }
|
|
|
|
hphpd> continue
|
|
int(46)
|
|
C1 destructor!
|
|
C2 destructor
|
|
C1 oh hai
|
|
C1 destructor!
|
|
C2 destructor done
|
|
Program %s/flow_multistep.php exited normally.
|
|
hphpd> break clear all
|
|
All breakpoints are cleared.
|
|
hphpd> break flow_multistep.php:54
|
|
Breakpoint 1 set on line 54 of flow_multistep.php
|
|
hphpd> run
|
|
C1 oh hai
|
|
C2 oh hai
|
|
Breakpoint 1 reached at main() on line 54 of %s/flow_multistep.php
|
|
53 $c2 = new C2(5);
|
|
54 $c2 = new C2(6);
|
|
55 $d = $c1;
|
|
|
|
hphpd> break clear all
|
|
All breakpoints are cleared.
|
|
hphpd> step 10
|
|
C2 oh hai
|
|
C2 destructor
|
|
C1 oh hai
|
|
Break at C1::__destruct() on line 30 of %s/flow_multistep.php
|
|
29 public function __destruct() {
|
|
30 echo "C1 destructor!\n";
|
|
31 }
|
|
|
|
hphpd> out 2
|
|
C1 destructor!
|
|
C2 destructor done
|
|
Break at main() on line 54 of %s/flow_multistep.php
|
|
53 $c2 = new C2(5);
|
|
54 $c2 = new C2(6);
|
|
55 $d = $c1;
|
|
|
|
hphpd> out
|
|
object(C1)#9 (1) {
|
|
["x":"C1":private]=>
|
|
int(0)
|
|
}
|
|
int(46)
|
|
C1 destructor!
|
|
C2 destructor
|
|
C1 oh hai
|
|
C1 destructor!
|
|
C2 destructor done
|
|
Break on line 61 of %s/flow_multistep.php
|
|
60
|
|
61 main();
|
|
62
|
|
|
|
hphpd> continue
|
|
Program %s/flow_multistep.php exited normally.
|
|
hphpd> break flow_multistep.php:54
|
|
Breakpoint 1 set on line 54 of flow_multistep.php
|
|
hphpd> run
|
|
C1 oh hai
|
|
C2 oh hai
|
|
Breakpoint 1 reached at main() on line 54 of %s/flow_multistep.php
|
|
53 $c2 = new C2(5);
|
|
54 $c2 = new C2(6);
|
|
55 $d = $c1;
|
|
|
|
hphpd> break clear all
|
|
All breakpoints are cleared.
|
|
hphpd> step 10
|
|
C2 oh hai
|
|
C2 destructor
|
|
C1 oh hai
|
|
Break at C1::__destruct() on line 30 of %s/flow_multistep.php
|
|
29 public function __destruct() {
|
|
30 echo "C1 destructor!\n";
|
|
31 }
|
|
|
|
hphpd> next 3
|
|
C1 destructor!
|
|
C2 destructor done
|
|
Break at main() on line 54 of %s/flow_multistep.php
|
|
53 $c2 = new C2(5);
|
|
54 $c2 = new C2(6);
|
|
55 $d = $c1;
|
|
|
|
hphpd> next
|
|
Break at main() on line 55 of %s/flow_multistep.php
|
|
54 $c2 = new C2(6);
|
|
55 $d = $c1;
|
|
56 $c1 = null;
|
|
|
|
hphpd> continue
|
|
object(C1)#11 (1) {
|
|
["x":"C1":private]=>
|
|
int(0)
|
|
}
|
|
int(46)
|
|
C1 destructor!
|
|
C2 destructor
|
|
C1 oh hai
|
|
C1 destructor!
|
|
C2 destructor done
|
|
Program %s/flow_multistep.php exited normally.
|
|
hphpd> quit
|