magento2如何跟踪代码?

1.83K 浏览M2交流区log

magento2如何跟踪代码?

举个例子,比如product price做index,我只知道它做index的代码, 我想知道它是从哪个步骤进来的.该如何跟踪呢?目前我的做法是在我找到的方法那里故意写错误的代码,让程序报错, 然后看log来找它是从哪里进来.  有更好的方法吗?

已回答
0

在Magento 2中,跟踪代码和调试程序的一个更好方法是使用集成开发环境(Integrated Development Environment,IDE)的断点和调试功能,例如PHPStorm。这允许您查看代码的执行路径并在运行时查看变量值。

使用PHPStorm和Xdebug进行调试的简要步骤如下:

  1. 安装Xdebug:在开发服务器上安装Xdebug扩展。请参阅Xdebug文档以获取有关如何在不同平台上安装和配置Xdebug的说明:https://xdebug.org/docs/install
  2. 配置PHPStorm:打开PHPStorm,然后转到"Settings"或"Preferences"(取决于操作系统)。在"Languages & Frameworks" > "PHP" > "Debug"下,确保"Enable"旁边的Xdebug选项已选中。
  3. 配置服务器:在PHPStorm中,转到"Settings"或"Preferences",然后导航到"Languages & Frameworks" > "PHP" > "Servers"。添加一个新服务器,并输入开发服务器的URL和本地源代码的路径。
  4. 在代码中设置断点:在您想要跟踪的代码中单击编辑器左侧的空白区域以设置断点。断点将以红色标记显示。
  5. 启动调试会话:在PHPStorm中,单击工具栏上的"Start Listening for PHP Debug Connections"按钮(电话图标)。
  6. 安装浏览器扩展:安装与您的浏览器兼容的Xdebug扩展,例如Xdebug Helper(适用于Chrome)或Xdebug Toggler(适用于Firefox)。在浏览器中启用扩展。
  7. 开始调试:浏览到您要调试的页面。当代码执行到断点时,调试器将暂停代码执行。此时,您可以查看变量值、调用堆栈以及执行路径。

通过在IDE中设置断点并使用调试器,您可以轻松地查看代码的执行路径,而无需故意引入错误并查看日志文件。这将帮助您更快地找到问题并找到解决方案。

发表新评论

了解,我试一试

除了上诉方法外,在Magento中也找到了一个debug方法. 当不知道是哪里调用这个function()时,
可以使用以下代码获取从Magento入口到当前方法的执行过程
$backtrace = MagentoFrameworkDebug::backtrace(true, false, false);
$writer = new Zend_Log_Writer_Stream(BP . '/var/log/backtrace.log');
$logger = new Zend_Log();
$logger->addWriter($writer);
$logger->info($backtrace);

6, 你这个看起来很不错

0