958df942ce
Readline is awful and dumps characters in the output. This was causing tests to act weird on another build.
206 linhas
4.0 KiB
Plaintext
206 linhas
4.0 KiB
Plaintext
Welcome to HipHop Debugger!
|
|
Type "help" or "?" for a complete list of commands.
|
|
|
|
Program %s/flow2.php loaded. Type '[r]un' or '[c]ontinue' to go.
|
|
%Shphpd> run
|
|
flow2.php done
|
|
Program %s/flow2.php exited normally.
|
|
hphpd> break test()
|
|
Breakpoint 1 set upon entering test()
|
|
hphpd> @test(1)
|
|
Breakpoint 1 reached at test() on line 53 of %s/flow2.php
|
|
52 function test($a) {
|
|
53 foo($a);
|
|
54 }
|
|
|
|
hphpd> step
|
|
Break at foo() on line 36 of %s/flow2.php
|
|
35 function foo($a) {
|
|
36 $c = new C1(5);
|
|
37
|
|
|
|
hphpd> next
|
|
Constructor
|
|
Break at foo() on line 38 of %s/flow2.php
|
|
37
|
|
38 $i = 0;
|
|
39 foreach (genFoo($a) as $x) {
|
|
|
|
hphpd> next
|
|
Break at foo() on line 39 of %s/flow2.php
|
|
38 $i = 0;
|
|
39 foreach (genFoo($a) as $x) {
|
|
40 $i++;
|
|
|
|
hphpd> next
|
|
Break at foo() on line 40 of %s/flow2.php
|
|
39 foreach (genFoo($a) as $x) {
|
|
40 $i++;
|
|
41 var_dump($x);
|
|
|
|
hphpd> next
|
|
Break at foo() on line 41 of %s/flow2.php
|
|
40 $i++;
|
|
41 var_dump($x);
|
|
42 }
|
|
|
|
hphpd> next
|
|
Break at foo() on line 40 of %s/flow2.php
|
|
39 foreach (genFoo($a) as $x) {
|
|
40 $i++;
|
|
41 var_dump($x);
|
|
|
|
hphpd> next
|
|
Break at foo() on line 41 of %s/flow2.php
|
|
40 $i++;
|
|
41 var_dump($x);
|
|
42 }
|
|
|
|
hphpd> next
|
|
Finished in genFoo
|
|
Break at foo() on line 44 of %s/flow2.php
|
|
43
|
|
44 $c = new C1(6); // Runs a destructor
|
|
45 $d = $c;
|
|
|
|
hphpd> next
|
|
Constructor
|
|
Destructor
|
|
Break at foo() on line 45 of %s/flow2.php
|
|
44 $c = new C1(6); // Runs a destructor
|
|
45 $d = $c;
|
|
46 $e = new C1(7);
|
|
|
|
hphpd> next
|
|
Break at foo() on line 46 of %s/flow2.php
|
|
45 $d = $c;
|
|
46 $e = new C1(7);
|
|
47 $c = null;
|
|
|
|
hphpd> next
|
|
Constructor
|
|
Break at foo() on line 47 of %s/flow2.php
|
|
46 $e = new C1(7);
|
|
47 $c = null;
|
|
48
|
|
|
|
hphpd> next
|
|
Break at foo() on line 49 of %s/flow2.php
|
|
48
|
|
49 var_dump($d);
|
|
50 } // Ret runs two destructors
|
|
|
|
hphpd> next
|
|
Destructor
|
|
Destructor
|
|
Break at test() on line 53 of %s/flow2.php
|
|
52 function test($a) {
|
|
53 foo($a);
|
|
54 }
|
|
|
|
hphpd> break clear all
|
|
All breakpoints are cleared.
|
|
hphpd> continue
|
|
int(8)
|
|
int(1)
|
|
object(C1)#2 (1) {
|
|
["x":"C1":private]=>
|
|
int(0)
|
|
}
|
|
|
|
hphpd> break flow2.php:10
|
|
Breakpoint 1 set on line 10 of flow2.php
|
|
hphpd> break flow2.php:12
|
|
Breakpoint 2 set on line 12 of flow2.php
|
|
hphpd> @test(2)
|
|
Constructor
|
|
Breakpoint 1 reached at %s() on line 10 of %s/flow2.php
|
|
9 function genFoo($a) {
|
|
10 $a = bar($a);
|
|
11 $z = yield $a+5;
|
|
|
|
hphpd> out
|
|
Break at foo() on line 40 of %s/flow2.php
|
|
39 foreach (genFoo($a) as $x) {
|
|
40 $i++;
|
|
41 var_dump($x);
|
|
|
|
hphpd> continue
|
|
Breakpoint 2 reached at %s() on line 12 of %s/flow2.php
|
|
11 $z = yield $a+5;
|
|
12 yield $z+1;
|
|
13 error_log('Finished in genFoo');
|
|
|
|
hphpd> out
|
|
Break at foo() on line 40 of %s/flow2.php
|
|
39 foreach (genFoo($a) as $x) {
|
|
40 $i++;
|
|
41 var_dump($x);
|
|
|
|
hphpd> break clear all
|
|
All breakpoints are cleared.
|
|
hphpd> continue
|
|
Finished in genFoo
|
|
Constructor
|
|
Destructor
|
|
Constructor
|
|
Destructor
|
|
Destructor
|
|
int(9)
|
|
int(1)
|
|
object(C1)#3 (1) {
|
|
["x":"C1":private]=>
|
|
int(0)
|
|
}
|
|
|
|
hphpd> break flow2.php:26
|
|
Breakpoint 2 set on line 26 of flow2.php
|
|
hphpd> @test(3)
|
|
Constructor
|
|
Finished in genFoo
|
|
Constructor
|
|
Breakpoint 2 reached at C1::__destruct() on line 26 of %s/flow2.php
|
|
25 public function __destruct() {
|
|
26 error_log('Destructor');
|
|
27 }
|
|
|
|
hphpd> out
|
|
Destructor
|
|
Break at foo() on line 44 of %s/flow2.php
|
|
43
|
|
44 $c = new C1(6); // Runs a destructor
|
|
45 $d = $c;
|
|
|
|
hphpd> continue
|
|
Constructor
|
|
Breakpoint 2 reached at C1::__destruct() on line 26 of %s/flow2.php
|
|
25 public function __destruct() {
|
|
26 error_log('Destructor');
|
|
27 }
|
|
|
|
hphpd> out
|
|
Destructor
|
|
Breakpoint 2 reached at C1::__destruct() on line 26 of %s/flow2.php
|
|
25 public function __destruct() {
|
|
26 error_log('Destructor');
|
|
27 }
|
|
|
|
hphpd> out
|
|
Destructor
|
|
Break at test() on line 53 of %s/flow2.php
|
|
52 function test($a) {
|
|
53 foo($a);
|
|
54 }
|
|
|
|
hphpd> break clear all
|
|
All breakpoints are cleared.
|
|
hphpd> continue
|
|
int(10)
|
|
int(1)
|
|
object(C1)#4 (1) {
|
|
["x":"C1":private]=>
|
|
int(0)
|
|
}
|
|
|
|
hphpd> quit
|