vscode 服务器端调试 本地显示,VSCode PHP调试扩展路径转换,本地服务器上的服务器...

PHP的调试与Visual Studio代码和Xdebug。服务器端配置云:VSCode PHP调试扩展路径转换,本地服务器上的服务器

zend_extension=xdebug.so

xdebug.remote_enable=true

xdebug.remote_host=mybox

xdebug.remote_port=9000

xdebug.remote_log=/tmp/xdebug/xdebug-remote.log

xdebug.remote_autostart=1

xdebug.remote_handler=dbgp

xdebug.profiler_enable=0

xdebug.profiler_output_dir=/tmp/xdebug

在launch.json配置云:

{

"name": "Listen for XDebug",

"type": "php",

"request": "launch",

"port": 9000,

"localSourceRoot": "Y:\\",

"serverSourceRoot": "/home/seva/myproject",

"stopOnEntry":true

}

现在,当配置是这样的,我带了一个网页从该项目在浏览器,调试器在第一个PHP行停止,从那时起,我可以设置断点并继续执行它们。但是,如果我在同一个文件中设置断点,设置stopOnEntry到false,并在浏览器中加载它,断点未命中。我在这里错过了什么?

编辑:非常简单的代码,一行语句,没有符号链接存在,路径映射是给VS代码。

EDIT2:发现在日志中一个有趣的线:

->

xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_list"

transaction_id="5">

filename="file:///home/seva/y:/admin_main.php"

lineno="5" state="enabled" hit_count="0" hit_value="0" id="274990011">

filename="file:///home/seva/y:/db.php"

lineno="770" state="enabled" hit_count="0" hit_value="0" id="274990010">

注意断点对象的文件名:file:///home/seva/y:/admin_main.php。这是一个奇怪的本地路径和服务器路径混搭。该文件确实坐在/home/seva/myproject在服务器中,这是在SAMBA共享的\\servername\myproject,然后映射到本地驱动器ÿ:.

貌似localSourceRoot和serverSourceRoot不工作我以为的方式......

EDIT3:当我改变localSourceRoot到myproject,在日志中的条目仍具有file:///home/seva/y:/admin_main.php。我没有看到Y:\从哪里来,除了它是我在VS代码中编辑的文件夹。所以这些设置和当前文件夹路径之间会有一些有趣的相互作用。

如果我只能通过...

+0

这些都是什么样的线路?对于多行语句来说,实际的行在中间的某个地方..所以最好只在简单/单行语句中设置断点。不知道VSC究竟是如何工作的(PhpStorm用户在这里),但也许它与路径映射有某种关系?提醒一下 - xdebug(或可能是PHP本身)将使用最终/解析路径,而IDE /编辑器应该按原样使用路径。所以如果你有远程方面的象征性链接或类似的东西,最好把它带入一个帐户。将实际代码中的'xdebug_break();'放在需要时使用该选项=“false”? –

+0

会很好看Xdebug的日志,其中断点被击中在这两种情况下“真”与“假”的会议。现在我会建议创建一个新的简单脚本,其中包含几条简单的线条,每条新指令都在新行中,并查看它在那里的行为。像'

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值