codecamp

IntelliJ IDEA:分析Xdebug性能分析数据

分析Xdebug性能分析数据

此功能仅在Ultimate版本中受支持。
以下内容仅在安装并启用PHP插件时有效!

当启用与Xdebug配置文件的集成时,IntelliJ IDEA提供了配置文件快照的可视化表示。IntelliJ IDEA打开一个单独的编辑器选项卡,其中包含四个视图,其中根据不同的标准显示数据。

要收集性能分析数据并对其进行分析,请执行以下常规步骤:

  • 启动Xdebug调试会话
  • 检索配置文件累积的数据
  • 检查性能分析数据

启动Xdebug调试会话

要启动Xdebug会话,请执行以下操作之一:

  • 要开始调试整个应用程序,请创建PHP Web页面类型的调试配置,然后单击“调试( 图标动作startDebugger svg)”来启动调试。
  • 要调试特定的PHP HTTP请求,请定义PHP HTTP请求类型的调试配置,然后单击“调试( 图标动作startDebugger svg)”来启动调试。
  • 要启动零配置调试会话:
    1. 切换IntelliJ IDEA工具栏上的“开始侦听PHP调试连接”按钮 开始监听php调试连接,使其更改为 停止监听php调试连接。之后,IntelliJ IDEA开始监听当前项目中使用的调试引擎的端口。调试端口在“设置/首选项”对话框(Ctrl+Alt+S)的“语言和框架|PHP|调试”页面的IntelliJ IDEA级别中设置。
    2. 在浏览器中打开应用程序的起始页面,选择“启动调试器”书签以从浏览器激活调试引擎,重新加载当前页面(应用程序的起始页面),然后返回到IntelliJ IDEA。

检索分析器累积的数据

  1. 在主菜单上,选择:工具|分析Xdebug配置文件快照。
  2. 在打开的“选择Xdebug配置文件快照”对话框中,选择文件夹和存储性能分析数据的文件。IntelliJ IDEA在单独的编辑器选项卡中显示收集的性能分析数据,其中包含所选配置文件输出文件的名称。

检查性能分析数据

当您请求累积的性能分析数据时,IntelliJ IDEA会在单独的编辑器选项卡中打开其可视化的演示文稿。该选项卡以选定的配置文件输出文件命名,并包含多个视图。在视图之间切换,以根据各种分析标准来分析性能分析数据。

  • 在“执行统计信息”视图中,检查有关每个被调用函数的执行度量的摘要信息。
  • 在“调用树”视图中,浏览所有调用函数的执行路径。
  • 要探索特定函数的执行路径,请在“调用树”视图中选择有问题的函数,并在“被调用者”视图中查看其被调用者。
  • 要探索可能导致调用特定函数的所有路径,请在“调用树”视图中选择有问题的函数,并在“调用者”视图中检查其可能的调用者。


IntelliJ IDEA:使用Xdebug启用性能分析
IntelliJ IDEA:使用Zend Debugger启用性能分析
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }