我正在尝试为cachegrind配置Xdebug,但我无法设法启用分析器功能来转储已执行的网页。
我正在使用the official guide (还有一些类似的设置),但它似乎不起作用。
我在我的两台Linux机器(Ubuntu和Fedora)上都尝试过。Xdebug可以很好地进行调试,我可以为应用程序启动valgrind --tool=cachegrind,这样两个应用程序都应该正确安装。
我在php.ini中激活和停用profiler_enable和profiler_enable_trigger选项,然后重新启动服务器,但没有成功。更改了输出目录,因为我认为它可能与权限有关。在URL中使用?XDEBUG_PROFILER=1标志作为参数似乎也没有什么帮助。
还有其他与cachegrind配置相关的线索吗?
发布于 2013-03-07 08:18:49
下面的基本xdebug.ini应该可以做到这一点:
; check that the path is ok for you
zend_extension=/usr/lib/php5/20090626/xdebug.so
xdebug.profiler_enable=1
xdebug.profiler_output_name = cachegring.out.%s
xdebug.profiler_output_dir = /tmp请注意,它为每个请求启用分析器,这是一个重要的性能问题。但是,您应该首先测试这是否有效。如果您看到它正常工作,默认情况下将其禁用。
关于valgrind。
请注意,您尝试要做的事情是不可能的。xdebug分析器不是为使用/连接到valgrind而设计的。它只是使用与valgrind相同的输出格式。因此,格式与示例相同:
valgrind --tool=cachegrind --cachegrind-out-file=test.cachegrind ls -al通常,您将使用图形用户界面程序来分析cachegrind文件,比如linux上的kcachegrind和windows上的wincachegrind。
https://stackoverflow.com/questions/15260675
复制相似问题