标签: xdebug

用于调试PHP中的内存泄漏/使用错误的工具/技术

我有一个命令行脚本,它array()通过循环运行一个文件,并使用文件名作为参数来调用辅助对象上的方法.

每次运行脚本时,PHP memory_get_usage报告的数字越来越大

53294264
57019624
61374624
65699176
70230600
75157152
79900392
84630472
89359264
94300016
100031176
105202448
110360808
115777528
121146976
126784824
132366952
Run Code Online (Sandbox Code Playgroud)

直到我出错了

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted
Run Code Online (Sandbox Code Playgroud)

很明显,某些东西正在泄漏内存,或某种全局/静态存储区域不断被添加.在PHP中调试此类错误的最佳方法是什么?有没有在PHP中无意中发生这种情况的常见情况?xDebug有一些神奇的选项可以帮助我查明这一点吗?其他工具?

我提出的最好的方法是跟随执行链并通过调用memory_get_usage()来乱丢代码库,直到找到确切的问题,但这似乎是一种单调乏味且低效的方法.

php memory memory-leaks memory-management xdebug

4
推荐指数
1
解决办法
2323
查看次数

xdebug var_dump函数颜色

我已经在我的计算机上安装了xdebug和Windows,默认情况下工作正常 - 痕迹很丰富,很漂亮,但在另一台计算机上使用ubuntu 10.10,它是无色的,没有任何格式.我在php.ini中尝试填充xdebug格式化参数,但它对我不起作用:(

我需要做些什么来改善输出格式?

xdebug var-dump

4
推荐指数
1
解决办法
2774
查看次数

Eclipse和Xdebug不解析/etc/php5/conf.d中的其他ini文件

我在Ubuntu 11.4上为AMD64和Xdebug设置了Eclipse 3.6.2 .

Eclipse是从eclipse.org下载的zip下载安装的.PHP和Xdebug使用apt-get进行设置.

当我在shell中运行PHP脚本时,他们将使用该/etc/php5/php.ini文件并解析其他ini文件/etc/php5/conf.d/.

当我在Eclipse(运行模式或调试模式)中运行时,它只会解析php.ini而不会有其他的ini文件.

基本上,所有扩展都没有加载.

php eclipse ubuntu xdebug eclipse-pdt

4
推荐指数
1
解决办法
788
查看次数

遵循始终抛出异常的方法的行的代码覆盖率

我知道100%的代码覆盖率只是一个目标,但是让一个包含右括号的行计为未覆盖是很烦人的,因为它遵循方法调用,其唯一目的是抛出异常.这是我的基础测试用例类中的一个简单示例,用于演示:

function checkForSkipAllTests() {
    if (self::$_skipAllTests) {
        self::markTestSkipped();   // [1] always throws an exception
    }                              // [2] shown as executable but not covered
}
Run Code Online (Sandbox Code Playgroud)

由于[1]总是退出方法,因此行[2]实际上是不可达的.有没有办法通过注释方法本身来告诉Xdebug markTestSkipped()

php phpunit code-coverage xdebug

4
推荐指数
1
解决办法
1269
查看次数

使用PHPStorm解决PHPUnit xdebug远程调试问题

我试图让Xdebug远程调试工作,我使用PHPStorm作为我的IDE.我的网络服务器/代码托管在远程机器上(amazon ec2).

我的远程服务器上的php.ini中有以下行(PHP CLI,因为我正在进行PHPUnit调试)

zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000
Run Code Online (Sandbox Code Playgroud)

由于我是从家庭网络编程的,因此我在个人路由器上打开了端口9000.我将PHPStorm的xdebug服务器设置为指向端口80上的远程服务器,使用Xdebug作为调试器.

现在,当我尝试从PHPStorm调试PHPUnit测试时,它只是说'等待与ide键'12115的传入连接'除外,它每次都会选择一个随机的ide键(我希望PHPUnit在服务器上设置idekey)本身)

我一直试图让这个工作超过10个小时,我已经尝试在php.ini中定义我的特定remote_host而不是使用remote_connect_back,但这也没有用.我试过在php.ini中设置一个idekey,但是效果不好.

反正是否确认Xdebug在Web服务器端按预期工作?如何在不使用Phpstorm的情况下测试我的Xdebug设置,我不知道它是我的家庭网络和远程服务器之间的连接问题还是什么.

任何有助于缩小问题范围的指导都会很棒.

php remote-debugging xdebug phpstorm

4
推荐指数
1
解决办法
4894
查看次数

netbeans IDE中的c ++项目中的构建/清理和构建之间的区别,测试和调试测试

我想知道netbeans中的c ++项目中的构建/清理和构建之间的区别有时候代码运行在其他地方运行它会产生一些错误,任何人都可以建议什么是更好的方式来了解ehen使用构建/清理和构建.

另外,如果你能告诉我简要介绍什么是测试和调试测试,那将有助于......

因为当我只是测试我的代码时,它没有提供所需的功能,当我进行调试测试时,我在某种程度上获得了功能

c++ xdebug build

4
推荐指数
1
解决办法
5721
查看次数

Netbeans Xdebug安装+ PHP + ubuntu操作系统

可能重复:
Xdebug和Netbeans没有相互通信

如何实现xdebugnetbeans.我搜索了很多,我在apache中做了一些事情 php.ini

zend_extension=/path/to/xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
Run Code Online (Sandbox Code Playgroud)

我在使用UbuntuOS.

Xdebug主要用于调试复杂的PHP代码.(for loop / foreach)

现在当我点击调试项目netbeans 页脚状态显示搜索xdebug连接并且其未结束未结束意味着连接失败.

我想你得到我想要的东西.

请帮我.

php ubuntu netbeans xdebug

4
推荐指数
1
解决办法
7138
查看次数

是什么让Balloon评估在Netbeans/Xdebug中不稳定?

根据Netbeans文档和选项窗格,使立即评估气球"稳定"Xdebug:https://netbeans.org/kb/docs/php/debugging.html

我没有听说过这种情况发生的特定情况,我没有看到列出的任何Xdebug错误 - 这是否是他们在Xdebug中修复的错误?这个警告在最新版本中是否仍然有用?

php xdebug php-5.4

4
推荐指数
1
解决办法
632
查看次数

Eclipse Expressions调试面板以31个元素切割数组

Eclipse屏幕帽

当尝试在eclipse的表达式监视面板中扩展数组时,只会扩展前0 ... 30个元素.其余的只是让展开按钮消失.有人遇到过这个问题并修好了吗?

这在杂乱的变量视图中不是问题,仅在Expression观察视图中.我的解决方法是观察数组切片,这非常繁琐.

php eclipse xdebug eclipse-luna

4
推荐指数
1
解决办法
421
查看次数

在没有Xdebug的情况下生成PHP代码覆盖率

我在单元测试期间使用Xdebug获取一些覆盖数据,但它花费了大量时间(和内存).

有没有办法在不使用Xdebug的情况下获得覆盖?

php phpunit unit-testing code-coverage xdebug

4
推荐指数
1
解决办法
620
查看次数