用valgrind调试php扩展的内存泄漏


Debug memory leak of php extention so with valgrind

有很多"?"在日志中调试php扩展的内存泄漏时,请使用valgrind。建议程序应避免对共享对象调用dlclose。我该怎么做?可以说,这只能通过修改php的源代码来实现吗?

您需要为php构建安装调试符号。。。许多打包系统使得调试包可单独用于发布包。该包(如果可用)通常使用约定php-debug/php-dbg/php53-dbg/php53-debug命名。

如果它不可用,那么您需要编译一个启用调试的PHP副本,为了做到这一点,并且不干扰您当前的安装,通常只需在配置选项中添加--prefix=/my/private/folder即可。要启用调试添加-启用调试,您需要重新编译php扩展(如果它有泄漏,我假设它来自pecl),从make clean开始,然后是/my/private/folder/bin/phpize。

好运:)