
197
第 9 章
hphpd
:交互式调试器
HHVM
配备着叫做
hphpd
的交互调试器。为使你对这个概念更加熟悉,这里对其做个简
要介绍:交互式调试器就是可以让你控制其他程序并且查看它们状态的程序。可以设置
在特定的点暂停被控制的程序(例如,当执行进入某个特定的函数,或者到达某个特定
的代码行时)。可以在执行期间查看每个变量的值,甚至在一些情况下修改这些值。对
调试一个大型复杂的程序来说,相较使用
printf
调试、不断试错的工作流模式,这种
交互式调试器是非常强大的工具,它们可以大幅提高易用性及效率。
hphpd
对于
PHP
和
Hack
都是一个应答式编程器(
read-eval-print loop
,
REPL
)。可以
在代码库的上下文中(这样就可以使用你的库函数了)交互式输入
PHP
和
Hack
代码,
来尝试运行小段的代码。
如果你还使用像
GDB
或者
LLDB
之类的交互式调试器,你将会发现
hphpd
和它们很相似。
事实上,你可能甚至不需要阅读本章的内容,你或许可以使用
hphpd
的交互式帮助命令
help
就可以开始我们的发现之旅了。
在本章中,我们将会看到如何使用
hphpd
来调试脚本和
Web
应用,如何对其进行配置,
以及如何从中获得最大益处。
9.1
开始入门
可以通过在
shell
命令行里面输入
hhvm -m debug
来启动
hphpd
。然而并不会执行任何代
码,
HHVM
将会显示一个欢迎信息,并进入调试器提示模式:
$ hhvm -m debug
Welcome to HipHop Debugger!