【发布时间】:2013-01-13 21:11:35
【问题描述】:
我一直在我的 Ubuntu 机器上愉快地编写代码。这是一台具有大量 RAM 的强大机器。我正在研究 4 个新课程,边写边写和运行单元测试。在某些时候我注意到,虽然单元测试完成得很好,但代码覆盖率却没有。
在“正在生成代码覆盖率报告……等等”消息之后,我会收到一条消息说 zend_mm_heap 已损坏。我尝试了一些修复,包括:在我的 php.ini(apache2 和 cli)中设置 output_buffering = On,并从我的代码中删除对 unset() 的调用。 (我在 SO 上阅读了这些可能需要修复的内容)。
现在,无论我做什么,我似乎都在 zend_mm... 错误和分段错误(核心转储)错误之间交替出现。我注释掉测试,直到我缩小我认为导致问题的那个,并在那里进行一些更改,直到我得到一个干净的运行。然后我将取消所有测试的注释,只发现仍然出现该错误。
有什么想法吗?我可以使用什么工具或方法来收集更多信息?
我正在使用 PHP_CodeCoverage 1.2.6、PHP 5.3.10-1ubuntu3.5、PHPUnit 3.7.9。
编辑:
顺便说一句,我找不到任何核心转储文件。从我的两个物理磁盘的根目录中搜索,但没有运气。我已阅读有关核心的 man 条目,包括核心转储未创建文件的可能原因,但我认为这些都不适用。
【问题讨论】:
标签: php segmentation-fault code-coverage