【问题标题】:How to enable memory monitoring in Xdebug?如何在 Xdebug 中启用内存监控?
【发布时间】:2019-05-28 11:16:27
【问题描述】:

我正在尝试使用 Xdebug 进行 Drupal 项目调试。在一些文档中,我看到 Xdebug 也能够发现内存泄漏。我试图使用那个设施。但我没有收到任何关于此的日志。

我将我的 20-xdebug.ini 配置如下

zend_extension=xdebug.so
xdebug.remote_enable=1 
xdebug.remote_host = 127.0.0.1
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=1
xdebug.profiler_output_dir = "/home/myname/Desktop/xdebug/"
xdebug.trace_output_dir="/home/myname/Desktop/xdebug/"
xdebug.remote_log="/home/myname/Desktop/xdebug/xdebug.log"
xdebug.auto_trace=1
xdebug.collect_params=1
xdebug.trace_format=1
xdebug.idekey=netbeans-xdebug
xdebug.remote_autostart=1

我可以将 NetBeans 与 Xdebug 连接起来,并且可以通过每个断点。但是/tmp 文件夹中没有关于此的日志,并且上述给定路径中也没有日志文件。

我做错了吗?请协助我。

【问题讨论】:

  • 如果没有生成日志..然后检查访问权限和实际路径的正确性。日志将由用于运行 Web 服务器 (Apache/nginx/etc) 的用户创建,除非您在 CLI 模式下执行此操作。如果指定了这样的路径,Xdebug 将生成日志文件 (xdebug.remote_log) .. 因为我用于检查发生了什么/为什么调试不起作用等。
  • 注意:调试(单步执行代码)和分析是有点不同的东西,同时拥有它们是没有意义的(调试意味着“慢慢地遍历每一行”而分析“查看执行此块需要多少时间”),因此您最好调试或分析,而不是一次两个。
  • @LazyOne,感谢您的建议。它现在正在工作。

标签: php drupal-7 xdebug php-7.1


【解决方案1】:

也许你需要 xdebug.show_mem_delta = 1

xdebug.show_mem_delta

类型:整数,默认值:0

当此设置设置为 != 0 Xdebug 的人类可读 生成的跟踪文件将显示内存使用量之间的差异 函数调用。如果 Xdebug 被配置为生成计算机可读 跟踪文件,那么它们将始终显示此信息。

【讨论】:

  • 感谢您的帮助。会试试这个。但正如我在问题中提到的,我没有得到任何日志详细信息。让我检查一下。
猜你喜欢
  • 2018-01-01
  • 2017-05-30
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多