使用 Xdebug 的捆绑调试客户端,如何在单步执行页面时设置局部变量和全局变量的示例
using Xdebug's bundled debugclient, example of how to set both local and global variables while stepping through a page
我正在使用 Centos 7.6 和本地安装的 apache httpd.service。我已经安装了 xdebug v2.9.1 并通过一个简单的 phpInfo() 测试页面验证了它的配置。
当我在本地浏览器中通过本地主机引用加载页面时,我可以启动 'debugclient' 和 step_into、step_over、状态和各种其他 xdebug 协议命令。
<?php
$a = 0;
echo "a= " . $a . PHP_EOL;
$a += 1;
echo "a= " . $a . PHP_EOL;
$a += 1;
echo "a= " . $a . PHP_EOL;
$a += 1;
echo "a= " . $a . PHP_EOL;
echo "Done" . PHP_EOL;
有消息的人可以给我提供一个 set/create 变量的命令示例,并从 debugclient 命令行更改它的值吗?具体来说,在我的示例文件中:如何修改“$a”的值,以便更改通过 echo 语句报告的值?
是的。我知道除了 'debugclient' 之外还有其他调试器,但我想了解 IDE 和网站主机之间的通信协议,因为它特别适用于 Xdebug 和 DBGP 协议;特别是因为提供的 Xdebug 文档没有提供在 https://xdebug.org/docs/dbgp
处使用 'eval'、'expr' 和 'exec' 的示例
我尝试创建标签 'debugclient' 和 'DBGP Protocol' 但显然没有足够的 'reputation' 来创建标签。
你应该使用property_set -i 45 -n $a -- base64encodedvalue
base64encodedvalue
应该是您要设置的值,使用 base64 编码。您可以使用 php -r 'echo base64_encode("42");'
创建该值,因此完整示例变为:
property_set -i 45 -n $a -- NDI=
我正在使用 Centos 7.6 和本地安装的 apache httpd.service。我已经安装了 xdebug v2.9.1 并通过一个简单的 phpInfo() 测试页面验证了它的配置。
当我在本地浏览器中通过本地主机引用加载页面时,我可以启动 'debugclient' 和 step_into、step_over、状态和各种其他 xdebug 协议命令。
<?php
$a = 0;
echo "a= " . $a . PHP_EOL;
$a += 1;
echo "a= " . $a . PHP_EOL;
$a += 1;
echo "a= " . $a . PHP_EOL;
$a += 1;
echo "a= " . $a . PHP_EOL;
echo "Done" . PHP_EOL;
有消息的人可以给我提供一个 set/create 变量的命令示例,并从 debugclient 命令行更改它的值吗?具体来说,在我的示例文件中:如何修改“$a”的值,以便更改通过 echo 语句报告的值?
是的。我知道除了 'debugclient' 之外还有其他调试器,但我想了解 IDE 和网站主机之间的通信协议,因为它特别适用于 Xdebug 和 DBGP 协议;特别是因为提供的 Xdebug 文档没有提供在 https://xdebug.org/docs/dbgp
处使用 'eval'、'expr' 和 'exec' 的示例我尝试创建标签 'debugclient' 和 'DBGP Protocol' 但显然没有足够的 'reputation' 来创建标签。
你应该使用property_set -i 45 -n $a -- base64encodedvalue
base64encodedvalue
应该是您要设置的值,使用 base64 编码。您可以使用 php -r 'echo base64_encode("42");'
创建该值,因此完整示例变为:
property_set -i 45 -n $a -- NDI=