Provide a config option to turn off debugger prompt.
The debugger prompt string depends on user/machine specific configuration settings, which makes its inclusion in expected test output problematic. There is already an option in (the user controlled) ~/.hphpd.hdf to turn off the prompt. Now there is an option in normal config files to do the same.
Esse commit está contido em:
@@ -438,6 +438,7 @@ std::string RuntimeOption::SandboxLogsRoot;
|
||||
|
||||
bool RuntimeOption::EnableDebugger = false;
|
||||
bool RuntimeOption::EnableDebuggerColor = true;
|
||||
bool RuntimeOption::EnableDebuggerPrompt = true;
|
||||
bool RuntimeOption::EnableDebuggerServer = false;
|
||||
bool RuntimeOption::EnableDebuggerUsageLog = false;
|
||||
int RuntimeOption::DebuggerServerPort = 8089;
|
||||
@@ -1177,6 +1178,7 @@ void RuntimeOption::Load(Hdf &config, StringVec *overwrites /* = NULL */,
|
||||
Hdf debugger = eval["Debugger"];
|
||||
EnableDebugger = debugger["EnableDebugger"].getBool();
|
||||
EnableDebuggerColor = debugger["EnableDebuggerColor"].getBool(true);
|
||||
EnableDebuggerPrompt = debugger["EnableDebuggerPrompt"].getBool(true);
|
||||
EnableDebuggerServer = debugger["EnableDebuggerServer"].getBool();
|
||||
EnableDebuggerUsageLog = debugger["EnableDebuggerUsageLog"].getBool();
|
||||
DebuggerServerPort = debugger["Port"].getUInt16(8089);
|
||||
|
||||
@@ -494,6 +494,7 @@ public:
|
||||
// Debugger options
|
||||
static bool EnableDebugger;
|
||||
static bool EnableDebuggerColor;
|
||||
static bool EnableDebuggerPrompt;
|
||||
static bool EnableDebuggerServer;
|
||||
static bool EnableDebuggerUsageLog;
|
||||
static int DebuggerServerPort;
|
||||
|
||||
@@ -578,7 +578,7 @@ bool DebuggerClient::reconnect() {
|
||||
|
||||
std::string DebuggerClient::getPrompt() {
|
||||
TRACE(2, "DebuggerClient::getPrompt\n");
|
||||
if (NoPrompt) {
|
||||
if (NoPrompt || !RuntimeOption::EnableDebuggerPrompt) {
|
||||
return "";
|
||||
}
|
||||
string *name = &m_machine->m_name;
|
||||
@@ -622,19 +622,19 @@ void DebuggerClient::init(const DebuggerClientOptions &options) {
|
||||
|
||||
if (!options.cmds.empty()) {
|
||||
RuntimeOption::EnableDebuggerColor = false;
|
||||
RuntimeOption::EnableDebuggerPrompt = false;
|
||||
s_use_utf8 = false;
|
||||
NoPrompt = true;
|
||||
}
|
||||
|
||||
if (options.apiMode) {
|
||||
RuntimeOption::EnableDebuggerColor = false;
|
||||
NoPrompt = true;
|
||||
RuntimeOption::EnableDebuggerPrompt = false;
|
||||
m_outputBuf.clear();
|
||||
}
|
||||
|
||||
if (UseColor && RuntimeOption::EnableDebuggerColor) Debugger::SetTextColors();
|
||||
|
||||
if (!NoPrompt) {
|
||||
if (!NoPrompt && RuntimeOption::EnableDebuggerPrompt) {
|
||||
info("Welcome to HipHop Debugger!");
|
||||
info("Type \"help\" or \"?\" for a complete list of commands.\n");
|
||||
}
|
||||
@@ -1087,7 +1087,7 @@ bool DebuggerClient::console() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} else if (!NoPrompt) {
|
||||
} else if (!NoPrompt && RuntimeOption::EnableDebuggerPrompt) {
|
||||
print("%s%s", getPrompt().c_str(), line);
|
||||
}
|
||||
if (*line && !m_macroPlaying) {
|
||||
|
||||
@@ -6,6 +6,7 @@ Eval {
|
||||
Debugger {
|
||||
EnableDebugger = true
|
||||
EnableDebuggerColor = false
|
||||
EnableDebuggerPrompt = false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,29 +1,26 @@
|
||||
Welcome to HipHop Debugger!
|
||||
Type "help" or "?" for a complete list of commands.
|
||||
|
||||
Program %s/flow.php loaded. Type '[r]un' or '[c]ontinue' to go.
|
||||
%Shphpd> break cls::pub()
|
||||
%Sbreak cls::pub()
|
||||
Breakpoint 1 set upon entering cls::pub()
|
||||
hphpd> run
|
||||
run
|
||||
flow_t.php loaded
|
||||
Program %s/flow.php exited normally.
|
||||
hphpd> @test(1)
|
||||
@test(1)
|
||||
test 1
|
||||
Breakpoint 1 reached at cls::pub() on line 12 of %s/flow.php
|
||||
11 public function pub($x) {
|
||||
12 error_log("in pub:".$x);
|
||||
13 $this->pri($x);
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
in pub:1
|
||||
Break at cls::pub() on line 13 of %s/flow.php
|
||||
12 error_log("in pub:".$x);
|
||||
13 $this->pri($x);
|
||||
14 error_log("out pub:".$x);
|
||||
|
||||
hphpd> variable
|
||||
variable
|
||||
$x = 1
|
||||
hphpd> next
|
||||
next
|
||||
in pri:1
|
||||
foo:1
|
||||
out pri:1
|
||||
@@ -32,27 +29,27 @@ Break at cls::pub() on line 14 of %s/flow.php
|
||||
14 error_log("out pub:".$x);
|
||||
15 }
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
out pub:1
|
||||
Break at test() on line 62 of %s/flow.php
|
||||
61 $obj = new cls();
|
||||
62 $obj->pub($x);
|
||||
63 error_log("test done ".$x);
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at test() on line 63 of %s/flow.php
|
||||
62 $obj->pub($x);
|
||||
63 error_log("test done ".$x);
|
||||
64 }
|
||||
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> continue
|
||||
continue
|
||||
test done 1
|
||||
|
||||
hphpd> break flow.php:18
|
||||
break flow.php:18
|
||||
Breakpoint 1 set on line 18 of flow.php
|
||||
hphpd> @test(2)
|
||||
@test(2)
|
||||
test 2
|
||||
in pub:2
|
||||
in pri:2
|
||||
@@ -61,58 +58,58 @@ Breakpoint 1 reached at cls::pri() on line 18 of %s/flow.php
|
||||
18 $y = $x + 3; $z = $x * 5;
|
||||
19 foo($y, $z);
|
||||
|
||||
hphpd> step
|
||||
step
|
||||
Break at cls::pri() on line 19 of %s/flow.php
|
||||
18 $y = $x + 3; $z = $x * 5;
|
||||
19 foo($y, $z);
|
||||
20 if ($x == 3) {
|
||||
|
||||
hphpd> variable
|
||||
variable
|
||||
$x = 2
|
||||
$y = 5
|
||||
$z = 10
|
||||
hphpd> step
|
||||
step
|
||||
Break at foo() on line 6 of %s/flow.php
|
||||
5 function foo($a, $b) {
|
||||
6 $c = $b - $a;
|
||||
7 error_log("foo:".$c);
|
||||
|
||||
hphpd> variable
|
||||
variable
|
||||
$a = 5
|
||||
$b = 10
|
||||
hphpd> step
|
||||
step
|
||||
Break at foo() on line 7 of %s/flow.php
|
||||
6 $c = $b - $a;
|
||||
7 error_log("foo:".$c);
|
||||
8 }
|
||||
|
||||
hphpd> variable
|
||||
variable
|
||||
$a = 5
|
||||
$b = 10
|
||||
$c = 5
|
||||
hphpd> next
|
||||
next
|
||||
foo:5
|
||||
Break at cls::pri() on line 19 of %s/flow.php
|
||||
18 $y = $x + 3; $z = $x * 5;
|
||||
19 foo($y, $z);
|
||||
20 if ($x == 3) {
|
||||
|
||||
hphpd> step
|
||||
step
|
||||
Break at cls::pri() on line 20 of %s/flow.php
|
||||
19 foo($y, $z);
|
||||
20 if ($x == 3) {
|
||||
21 hphpd_break();
|
||||
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> continue
|
||||
continue
|
||||
out pri:2
|
||||
out pub:2
|
||||
test done 2
|
||||
|
||||
hphpd> break flow.php:6
|
||||
break flow.php:6
|
||||
Breakpoint 1 set on line 6 of flow.php
|
||||
hphpd> @test(3)
|
||||
@test(3)
|
||||
test 3
|
||||
in pub:3
|
||||
in pri:3
|
||||
@@ -121,23 +118,23 @@ Breakpoint 1 reached at foo() on line 6 of %s/flow.php
|
||||
6 $c = $b - $a;
|
||||
7 error_log("foo:".$c);
|
||||
|
||||
hphpd> continue
|
||||
continue
|
||||
foo:9
|
||||
Break at cls::pri() on line 21 of %s/flow.php
|
||||
20 if ($x == 3) {
|
||||
21 hphpd_break();
|
||||
22 }
|
||||
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> continue
|
||||
continue
|
||||
out pri:3
|
||||
out pub:3
|
||||
test done 3
|
||||
|
||||
hphpd> break flow.php:7
|
||||
break flow.php:7
|
||||
Breakpoint 1 set on line 7 of flow.php
|
||||
hphpd> @test(4)
|
||||
@test(4)
|
||||
test 4
|
||||
in pub:4
|
||||
in pri:4
|
||||
@@ -146,47 +143,47 @@ Breakpoint 1 reached at foo() on line 7 of %s/flow.php
|
||||
7 error_log("foo:".$c);
|
||||
8 }
|
||||
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> out
|
||||
out
|
||||
foo:13
|
||||
Break at cls::pri() on line 19 of %s/flow.php
|
||||
18 $y = $x + 3; $z = $x * 5;
|
||||
19 foo($y, $z);
|
||||
20 if ($x == 3) {
|
||||
|
||||
hphpd> step
|
||||
step
|
||||
Break at cls::pri() on line 20 of %s/flow.php
|
||||
19 foo($y, $z);
|
||||
20 if ($x == 3) {
|
||||
21 hphpd_break();
|
||||
|
||||
hphpd> out
|
||||
out
|
||||
out pri:4
|
||||
Break at cls::pub() on line 13 of %s/flow.php
|
||||
12 error_log("in pub:".$x);
|
||||
13 $this->pri($x);
|
||||
14 error_log("out pub:".$x);
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at cls::pub() on line 14 of %s/flow.php
|
||||
13 $this->pri($x);
|
||||
14 error_log("out pub:".$x);
|
||||
15 }
|
||||
|
||||
hphpd> out
|
||||
out
|
||||
out pub:4
|
||||
Break at test() on line 62 of %s/flow.php
|
||||
61 $obj = new cls();
|
||||
62 $obj->pub($x);
|
||||
63 error_log("test done ".$x);
|
||||
|
||||
hphpd> continue
|
||||
continue
|
||||
test done 4
|
||||
|
||||
hphpd> break flow.php:46
|
||||
break flow.php:46
|
||||
Breakpoint 1 set on line 46 of flow.php
|
||||
hphpd> test(5)
|
||||
test(5)
|
||||
test 5
|
||||
in pub:5
|
||||
in pri:5
|
||||
@@ -196,9 +193,9 @@ Breakpoint 1 reached at thrower() on line 46 of %s/flow.php
|
||||
46 throw new Exception();
|
||||
47 }
|
||||
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> next
|
||||
next
|
||||
Break at baz() on line 50 of %s/flow.php
|
||||
49 function baz($a) {
|
||||
50 try {
|
||||
@@ -208,26 +205,26 @@ Break at baz() on line 50 of %s/flow.php
|
||||
54 }
|
||||
55
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at baz() on line 53 of %s/flow.php
|
||||
52 } catch (Exception $e) {
|
||||
53 $a = 0;
|
||||
54 }
|
||||
|
||||
hphpd> out
|
||||
out
|
||||
Break at cls::pri() on line 27 of %s/flow.php
|
||||
26 if ($x == 5 || $x == 6) {
|
||||
27 baz($x);
|
||||
28 }
|
||||
|
||||
hphpd> continue
|
||||
continue
|
||||
out pri:5
|
||||
out pub:5
|
||||
test done 5
|
||||
|
||||
hphpd> break flow.php:46
|
||||
break flow.php:46
|
||||
Breakpoint 1 set on line 46 of flow.php
|
||||
hphpd> test(6)
|
||||
test(6)
|
||||
test 6
|
||||
in pub:6
|
||||
in pri:6
|
||||
@@ -237,9 +234,9 @@ Breakpoint 1 reached at thrower() on line 46 of %s/flow.php
|
||||
46 throw new Exception();
|
||||
47 }
|
||||
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> out
|
||||
out
|
||||
Break at baz() on line 50 of %s/flow.php
|
||||
49 function baz($a) {
|
||||
50 try {
|
||||
@@ -249,26 +246,26 @@ Break at baz() on line 50 of %s/flow.php
|
||||
54 }
|
||||
55
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at baz() on line 53 of %s/flow.php
|
||||
52 } catch (Exception $e) {
|
||||
53 $a = 0;
|
||||
54 }
|
||||
|
||||
hphpd> out
|
||||
out
|
||||
Break at cls::pri() on line 27 of %s/flow.php
|
||||
26 if ($x == 5 || $x == 6) {
|
||||
27 baz($x);
|
||||
28 }
|
||||
|
||||
hphpd> continue
|
||||
continue
|
||||
out pri:6
|
||||
out pub:6
|
||||
test done 6
|
||||
|
||||
hphpd> break flow.php:7
|
||||
break flow.php:7
|
||||
Breakpoint 1 set on line 7 of flow.php
|
||||
hphpd> @test(7)
|
||||
@test(7)
|
||||
test 7
|
||||
in pub:7
|
||||
in pri:7
|
||||
@@ -277,11 +274,11 @@ Breakpoint 1 reached at foo() on line 7 of %s/flow.php
|
||||
7 error_log("foo:".$c);
|
||||
8 }
|
||||
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> break flow.php:62
|
||||
break flow.php:62
|
||||
Breakpoint 1 set on line 62 of flow.php
|
||||
hphpd> continue
|
||||
continue
|
||||
foo:25
|
||||
out pri:7
|
||||
out pub:7
|
||||
@@ -290,9 +287,9 @@ Breakpoint 1 reached at test() on line 62 of %s/flow.php
|
||||
62 $obj->pub($x);
|
||||
63 error_log("test done ".$x);
|
||||
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> continue
|
||||
continue
|
||||
test done 7
|
||||
|
||||
hphpd> quit
|
||||
quit
|
||||
|
||||
@@ -1,69 +1,66 @@
|
||||
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
|
||||
%Srun
|
||||
flow2.php done
|
||||
Program %s/flow2.php exited normally.
|
||||
hphpd> break test()
|
||||
break test()
|
||||
Breakpoint 1 set upon entering test()
|
||||
hphpd> @test(1)
|
||||
@test(1)
|
||||
Breakpoint 1 reached at test() on line 53 of %s/flow2.php
|
||||
52 function test($a) {
|
||||
53 foo($a);
|
||||
54 }
|
||||
|
||||
hphpd> step
|
||||
step
|
||||
Break at foo() on line 36 of %s/flow2.php
|
||||
35 function foo($a) {
|
||||
36 $c = new C1(5);
|
||||
37
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Constructor
|
||||
Break at foo() on line 38 of %s/flow2.php
|
||||
37
|
||||
38 $i = 0;
|
||||
39 foreach (genFoo($a) as $x) {
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 39 of %s/flow2.php
|
||||
38 $i = 0;
|
||||
39 foreach (genFoo($a) as $x) {
|
||||
40 $i++;
|
||||
|
||||
hphpd> next
|
||||
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
|
||||
next
|
||||
Break at foo() on line 41 of %s/flow2.php
|
||||
40 $i++;
|
||||
41 var_dump($x);
|
||||
42 }
|
||||
|
||||
hphpd> next
|
||||
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
|
||||
next
|
||||
Break at foo() on line 41 of %s/flow2.php
|
||||
40 $i++;
|
||||
41 var_dump($x);
|
||||
42 }
|
||||
|
||||
hphpd> next
|
||||
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
|
||||
next
|
||||
Constructor
|
||||
Destructor
|
||||
Break at foo() on line 45 of %s/flow2.php
|
||||
@@ -71,26 +68,26 @@ Break at foo() on line 45 of %s/flow2.php
|
||||
45 $d = $c;
|
||||
46 $e = new C1(7);
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 46 of %s/flow2.php
|
||||
45 $d = $c;
|
||||
46 $e = new C1(7);
|
||||
47 $c = null;
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Constructor
|
||||
Break at foo() on line 47 of %s/flow2.php
|
||||
46 $e = new C1(7);
|
||||
47 $c = null;
|
||||
48
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 49 of %s/flow2.php
|
||||
48
|
||||
49 var_dump($d);
|
||||
50 } // Ret runs two destructors
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Destructor
|
||||
Destructor
|
||||
Break at test() on line 53 of %s/flow2.php
|
||||
@@ -98,9 +95,9 @@ Break at test() on line 53 of %s/flow2.php
|
||||
53 foo($a);
|
||||
54 }
|
||||
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> continue
|
||||
continue
|
||||
int(8)
|
||||
int(1)
|
||||
object(C1)#2 (1) {
|
||||
@@ -108,38 +105,38 @@ object(C1)#2 (1) {
|
||||
int(0)
|
||||
}
|
||||
|
||||
hphpd> break flow2.php:10
|
||||
break flow2.php:10
|
||||
Breakpoint 1 set on line 10 of flow2.php
|
||||
hphpd> break flow2.php:12
|
||||
break flow2.php:12
|
||||
Breakpoint 2 set on line 12 of flow2.php
|
||||
hphpd> @test(2)
|
||||
@test(2)
|
||||
Constructor
|
||||
Breakpoint 1 reached at %s() on line 10 of %s/flow2.php
|
||||
Breakpoint 1 reached at %d_%d() on line 10 of %s/flow2.php
|
||||
9 function genFoo($a) {
|
||||
10 $a = bar($a);
|
||||
11 $z = yield $a+5;
|
||||
|
||||
hphpd> out
|
||||
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
|
||||
continue
|
||||
Breakpoint 2 reached at %d_%d() on line 12 of %s/flow2.php
|
||||
11 $z = yield $a+5;
|
||||
12 yield $z+1;
|
||||
13 error_log('Finished in genFoo');
|
||||
|
||||
hphpd> out
|
||||
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
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> continue
|
||||
continue
|
||||
Finished in genFoo
|
||||
Constructor
|
||||
Destructor
|
||||
@@ -153,9 +150,9 @@ object(C1)#3 (1) {
|
||||
int(0)
|
||||
}
|
||||
|
||||
hphpd> break flow2.php:26
|
||||
break flow2.php:26
|
||||
Breakpoint 2 set on line 26 of flow2.php
|
||||
hphpd> @test(3)
|
||||
@test(3)
|
||||
Constructor
|
||||
Finished in genFoo
|
||||
Constructor
|
||||
@@ -164,37 +161,37 @@ Breakpoint 2 reached at C1::__destruct() on line 26 of %s/flow2.php
|
||||
26 error_log('Destructor');
|
||||
27 }
|
||||
|
||||
hphpd> out
|
||||
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
|
||||
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
|
||||
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
|
||||
out
|
||||
Destructor
|
||||
Break at test() on line 53 of %s/flow2.php
|
||||
52 function test($a) {
|
||||
53 foo($a);
|
||||
54 }
|
||||
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> continue
|
||||
continue
|
||||
int(10)
|
||||
int(1)
|
||||
object(C1)#4 (1) {
|
||||
@@ -202,4 +199,4 @@ object(C1)#4 (1) {
|
||||
int(0)
|
||||
}
|
||||
|
||||
hphpd> quit
|
||||
quit
|
||||
|
||||
@@ -1,60 +1,57 @@
|
||||
Welcome to HipHop Debugger!
|
||||
Type "help" or "?" for a complete list of commands.
|
||||
|
||||
Program %s/flow_gen.php loaded. Type '[r]un' or '[c]ontinue' to go.
|
||||
%Shphpd> run
|
||||
%Srun
|
||||
flow_gen.php loaded
|
||||
Program %s/flow_gen.php exited normally.
|
||||
hphpd> break flow_gen.php:12
|
||||
break flow_gen.php:12
|
||||
Breakpoint 1 set on line 12 of flow_gen.php
|
||||
hphpd> @test(1)
|
||||
Breakpoint 1 reached at %s() on line 12 of %s/flow_gen.php
|
||||
@test(1)
|
||||
Breakpoint 1 reached at %d_%d() on line 12 of %s/flow_gen.php
|
||||
11 function genFoo($a) {
|
||||
12 $a = bar($a);
|
||||
13 $z = yield $a+5;
|
||||
|
||||
hphpd> next
|
||||
Break at %s() on line 13 of %s/flow_gen.php
|
||||
next
|
||||
Break at %d_%d() on line 13 of %s/flow_gen.php
|
||||
12 $a = bar($a);
|
||||
13 $z = yield $a+5;
|
||||
14 yield $z+1;
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 20 of %s/flow_gen.php
|
||||
19 $gen1 = genFoo($a);
|
||||
20 $gen1->next();
|
||||
21 while ($gen1->valid()) {
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 21 of %s/flow_gen.php
|
||||
20 $gen1->next();
|
||||
21 while ($gen1->valid()) {
|
||||
22 $val = $gen1->current();
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 22 of %s/flow_gen.php
|
||||
21 while ($gen1->valid()) {
|
||||
22 $val = $gen1->current();
|
||||
23 var_dump($val);
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 23 of %s/flow_gen.php
|
||||
22 $val = $gen1->current();
|
||||
23 var_dump($val);
|
||||
24 $gen1->send($a);
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 24 of %s/flow_gen.php
|
||||
23 var_dump($val);
|
||||
24 $gen1->send($a);
|
||||
25 }
|
||||
|
||||
hphpd> step
|
||||
step
|
||||
Break at Continuation::send()
|
||||
hphpd> step
|
||||
step
|
||||
Break at Continuation::send()
|
||||
hphpd> step
|
||||
Break at %s() on line 11 of %s/flow_gen.php
|
||||
step
|
||||
Break at %d_%d() on line 11 of %s/flow_gen.php
|
||||
10
|
||||
11 function genFoo($a) {
|
||||
12 $a = bar($a);
|
||||
@@ -64,54 +61,54 @@ Break at %s() on line 11 of %s/flow_gen.php
|
||||
16 }
|
||||
17
|
||||
|
||||
hphpd> step
|
||||
Break at %s() on line 13 of %s/flow_gen.php
|
||||
step
|
||||
Break at %d_%d() on line 13 of %s/flow_gen.php
|
||||
12 $a = bar($a);
|
||||
13 $z = yield $a+5;
|
||||
14 yield $z+1;
|
||||
|
||||
hphpd> next
|
||||
Break at %s() on line 14 of %s/flow_gen.php
|
||||
next
|
||||
Break at %d_%d() on line 14 of %s/flow_gen.php
|
||||
13 $z = yield $a+5;
|
||||
14 yield $z+1;
|
||||
15 error_log('Finished in genFoo');
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 24 of %s/flow_gen.php
|
||||
23 var_dump($val);
|
||||
24 $gen1->send($a);
|
||||
25 }
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 21 of %s/flow_gen.php
|
||||
20 $gen1->next();
|
||||
21 while ($gen1->valid()) {
|
||||
22 $val = $gen1->current();
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 22 of %s/flow_gen.php
|
||||
21 while ($gen1->valid()) {
|
||||
22 $val = $gen1->current();
|
||||
23 var_dump($val);
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 23 of %s/flow_gen.php
|
||||
22 $val = $gen1->current();
|
||||
23 var_dump($val);
|
||||
24 $gen1->send($a);
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 24 of %s/flow_gen.php
|
||||
23 var_dump($val);
|
||||
24 $gen1->send($a);
|
||||
25 }
|
||||
|
||||
hphpd> step
|
||||
step
|
||||
Break at Continuation::send()
|
||||
hphpd> step
|
||||
step
|
||||
Break at Continuation::send()
|
||||
hphpd> step
|
||||
Break at %s() on line 11 of %s/flow_gen.php
|
||||
step
|
||||
Break at %d_%d() on line 11 of %s/flow_gen.php
|
||||
10
|
||||
11 function genFoo($a) {
|
||||
12 $a = bar($a);
|
||||
@@ -121,21 +118,21 @@ Break at %s() on line 11 of %s/flow_gen.php
|
||||
16 }
|
||||
17
|
||||
|
||||
hphpd> step
|
||||
Break at %s() on line 14 of %s/flow_gen.php
|
||||
step
|
||||
Break at %d_%d() on line 14 of %s/flow_gen.php
|
||||
13 $z = yield $a+5;
|
||||
14 yield $z+1;
|
||||
15 error_log('Finished in genFoo');
|
||||
|
||||
hphpd> next
|
||||
Break at %s() on line 15 of %s/flow_gen.php
|
||||
next
|
||||
Break at %d_%d() on line 15 of %s/flow_gen.php
|
||||
14 yield $z+1;
|
||||
15 error_log('Finished in genFoo');
|
||||
16 }
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Finished in genFoo
|
||||
Break at %s() on line 11 of %s/flow_gen.php
|
||||
Break at %d_%d() on line 11 of %s/flow_gen.php
|
||||
10
|
||||
11 function genFoo($a) {
|
||||
12 $a = bar($a);
|
||||
@@ -145,22 +142,22 @@ Break at %s() on line 11 of %s/flow_gen.php
|
||||
16 }
|
||||
17
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 24 of %s/flow_gen.php
|
||||
23 var_dump($val);
|
||||
24 $gen1->send($a);
|
||||
25 }
|
||||
|
||||
hphpd> next
|
||||
next
|
||||
Break at foo() on line 21 of %s/flow_gen.php
|
||||
20 $gen1->next();
|
||||
21 while ($gen1->valid()) {
|
||||
22 $val = $gen1->current();
|
||||
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> continue
|
||||
continue
|
||||
int(8)
|
||||
int(2)
|
||||
|
||||
hphpd> quit
|
||||
quit
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
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
|
||||
%Sbreak flow_multistep.php:58
|
||||
Breakpoint 1 set on line 58 of flow_multistep.php
|
||||
hphpd> run
|
||||
run
|
||||
C1 oh hai
|
||||
C2 oh hai
|
||||
C2 oh hai
|
||||
@@ -21,13 +18,13 @@ Breakpoint 1 reached at main() on line 58 of %s/flow_multistep.php
|
||||
58 var_dump(a(42));
|
||||
59 }
|
||||
|
||||
hphpd> step 8
|
||||
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
|
||||
continue
|
||||
int(46)
|
||||
C1 destructor!
|
||||
C2 destructor
|
||||
@@ -35,7 +32,7 @@ C1 oh hai
|
||||
C1 destructor!
|
||||
C2 destructor done
|
||||
Program %s/flow_multistep.php exited normally.
|
||||
hphpd> run
|
||||
run
|
||||
C1 oh hai
|
||||
C2 oh hai
|
||||
C2 oh hai
|
||||
@@ -52,19 +49,19 @@ Breakpoint 1 reached at main() on line 58 of %s/flow_multistep.php
|
||||
58 var_dump(a(42));
|
||||
59 }
|
||||
|
||||
hphpd> step 4
|
||||
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
|
||||
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
|
||||
continue
|
||||
int(46)
|
||||
C1 destructor!
|
||||
C2 destructor
|
||||
@@ -72,7 +69,7 @@ C1 oh hai
|
||||
C1 destructor!
|
||||
C2 destructor done
|
||||
Program %s/flow_multistep.php exited normally.
|
||||
hphpd> run
|
||||
run
|
||||
C1 oh hai
|
||||
C2 oh hai
|
||||
C2 oh hai
|
||||
@@ -89,19 +86,19 @@ Breakpoint 1 reached at main() on line 58 of %s/flow_multistep.php
|
||||
58 var_dump(a(42));
|
||||
59 }
|
||||
|
||||
hphpd> step 4
|
||||
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
|
||||
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
|
||||
continue
|
||||
int(46)
|
||||
C1 destructor!
|
||||
C2 destructor
|
||||
@@ -109,7 +106,7 @@ C1 oh hai
|
||||
C1 destructor!
|
||||
C2 destructor done
|
||||
Program %s/flow_multistep.php exited normally.
|
||||
hphpd> run
|
||||
run
|
||||
C1 oh hai
|
||||
C2 oh hai
|
||||
C2 oh hai
|
||||
@@ -126,19 +123,19 @@ Breakpoint 1 reached at main() on line 58 of %s/flow_multistep.php
|
||||
58 var_dump(a(42));
|
||||
59 }
|
||||
|
||||
hphpd> step 4
|
||||
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
|
||||
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
|
||||
continue
|
||||
int(46)
|
||||
C1 destructor!
|
||||
C2 destructor
|
||||
@@ -146,11 +143,11 @@ C1 oh hai
|
||||
C1 destructor!
|
||||
C2 destructor done
|
||||
Program %s/flow_multistep.php exited normally.
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> break flow_multistep.php:54
|
||||
break flow_multistep.php:54
|
||||
Breakpoint 1 set on line 54 of flow_multistep.php
|
||||
hphpd> run
|
||||
run
|
||||
C1 oh hai
|
||||
C2 oh hai
|
||||
Breakpoint 1 reached at main() on line 54 of %s/flow_multistep.php
|
||||
@@ -158,9 +155,9 @@ Breakpoint 1 reached at main() on line 54 of %s/flow_multistep.php
|
||||
54 $c2 = new C2(6);
|
||||
55 $d = $c1;
|
||||
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> step 10
|
||||
step 10
|
||||
C2 oh hai
|
||||
C2 destructor
|
||||
C1 oh hai
|
||||
@@ -169,7 +166,7 @@ Break at C1::__destruct() on line 30 of %s/flow_multistep.php
|
||||
30 echo "C1 destructor!\n";
|
||||
31 }
|
||||
|
||||
hphpd> out 2
|
||||
out 2
|
||||
C1 destructor!
|
||||
C2 destructor done
|
||||
Break at main() on line 54 of %s/flow_multistep.php
|
||||
@@ -177,7 +174,7 @@ Break at main() on line 54 of %s/flow_multistep.php
|
||||
54 $c2 = new C2(6);
|
||||
55 $d = $c1;
|
||||
|
||||
hphpd> out
|
||||
out
|
||||
object(C1)#9 (1) {
|
||||
["x":"C1":private]=>
|
||||
int(0)
|
||||
@@ -193,11 +190,11 @@ Break on line 61 of %s/flow_multistep.php
|
||||
61 main();
|
||||
62
|
||||
|
||||
hphpd> continue
|
||||
continue
|
||||
Program %s/flow_multistep.php exited normally.
|
||||
hphpd> break flow_multistep.php:54
|
||||
break flow_multistep.php:54
|
||||
Breakpoint 1 set on line 54 of flow_multistep.php
|
||||
hphpd> run
|
||||
run
|
||||
C1 oh hai
|
||||
C2 oh hai
|
||||
Breakpoint 1 reached at main() on line 54 of %s/flow_multistep.php
|
||||
@@ -205,9 +202,9 @@ Breakpoint 1 reached at main() on line 54 of %s/flow_multistep.php
|
||||
54 $c2 = new C2(6);
|
||||
55 $d = $c1;
|
||||
|
||||
hphpd> break clear all
|
||||
break clear all
|
||||
All breakpoints are cleared.
|
||||
hphpd> step 10
|
||||
step 10
|
||||
C2 oh hai
|
||||
C2 destructor
|
||||
C1 oh hai
|
||||
@@ -216,7 +213,7 @@ Break at C1::__destruct() on line 30 of %s/flow_multistep.php
|
||||
30 echo "C1 destructor!\n";
|
||||
31 }
|
||||
|
||||
hphpd> next 3
|
||||
next 3
|
||||
C1 destructor!
|
||||
C2 destructor done
|
||||
Break at main() on line 54 of %s/flow_multistep.php
|
||||
@@ -224,13 +221,13 @@ Break at main() on line 54 of %s/flow_multistep.php
|
||||
54 $c2 = new C2(6);
|
||||
55 $d = $c1;
|
||||
|
||||
hphpd> next
|
||||
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
|
||||
continue
|
||||
object(C1)#11 (1) {
|
||||
["x":"C1":private]=>
|
||||
int(0)
|
||||
@@ -242,4 +239,4 @@ C1 oh hai
|
||||
C1 destructor!
|
||||
C2 destructor done
|
||||
Program %s/flow_multistep.php exited normally.
|
||||
hphpd> quit
|
||||
quit
|
||||
|
||||
@@ -1,32 +1,29 @@
|
||||
Welcome to HipHop Debugger!
|
||||
Type "help" or "?" for a complete list of commands.
|
||||
|
||||
Program %sprintThis.php loaded. Type '[r]un' or '[c]ontinue' to go.
|
||||
%Shphpd> break printThis.php:5
|
||||
Program %s/printThis.php loaded. Type '[r]un' or '[c]ontinue' to go.
|
||||
%Sbreak printThis.php:5
|
||||
Breakpoint 1 set on line 5 of printThis.php
|
||||
hphpd> run
|
||||
Breakpoint 1 reached at Foo::method() on line 5 of %sprintThis.php
|
||||
run
|
||||
Breakpoint 1 reached at Foo::method() on line 5 of %s/printThis.php
|
||||
4 function method() {
|
||||
5 $other = $this;
|
||||
6 }
|
||||
|
||||
hphpd> print $this
|
||||
print $this
|
||||
Foo Object
|
||||
(
|
||||
[prop] => "Hello\n"
|
||||
)
|
||||
|
||||
hphpd> continue
|
||||
Breakpoint 1 reached at Foo::method() on line 5 of %sprintThis.php
|
||||
continue
|
||||
Breakpoint 1 reached at Foo::method() on line 5 of %s/printThis.php
|
||||
4 function method() {
|
||||
5 $other = $this;
|
||||
6 }
|
||||
|
||||
hphpd> print $this
|
||||
print $this
|
||||
Foo Object
|
||||
(
|
||||
[prop] => "Hello\n"
|
||||
[prop2] => "\tThere"
|
||||
)
|
||||
|
||||
hphpd> quit
|
||||
quit
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário