当我在VSCode上启动调试器时,一切似乎都在工作,因为下部的条变为橙色等。但是,当我添加一个断点时,站点将忽略它并保持正常加载。当我去在launch.json上添加配置时,php也没有出现。 Xdebug不会创建日志。
我已经仔细检查了所有路径,下载了Xdebug的dll,并在php.ini,settings.json和launch.json上添加了必要的行。
php -v
给了我7.3.5版本,在WAMP上是相同的版本(在台式机和http://localhost/?phpinfo=-1
上已验证)
settings.json
{
"telemetry.enableTelemetry": false,
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
"window.zoomLevel": -1,
"C_Cpp.updateChannel": "Insiders",
"arduino.path": "C:\\Program Files (x86)\\Arduino",
"[javascript]": {
"editor.defaultFormatter": "HookyQR.beautify"
},
"[html]": {
"editor.defaultFormatter": "HookyQR.beautify"
},
"editor.minimap.enabled": false,
"php.validate.enable": true,
"php.executablePath": "c:/wamp64/bin/php/php7.3.5/php.exe",
"php.validate.executablePath": "c:/wamp64/bin/php/php7.3.5/php.exe",
"php.validate.run": "onSave",
"files.associations": {
"*.inc": "php"
},
"git.autofetch": true,
"git.enableSmartCommit": true
}
launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
php.ini
[XDebug]
zend_extension="c:/wamp64/bin/php/php7.3.5/ext/php_xdebug-2.8.0beta2-7.3-vc15-x86_64.dll"
xdebug.remote_enable = 1
xdebug.remote_autostart=on
xdebug.remote_port = 9000
xdebug.remote_log="c:/"
我也没有收到任何错误消息。
答案 0 :(得分:1)
进行日志记录:可能不允许Web服务器写入c:/
-您可能想使用c:/temp
(或任何临时目录路径)。
关于不停止,Web服务器的路径和硬盘上本地的路径可能不相同,并且您需要设置“路径映射”:https://github.com/felixfbecker/vscode-php-debug/blob/master/README.md#remote-host-debugging
答案 1 :(得分:1)
我在这个问题上苦苦挣扎了一年多,但在我的案子中发现了这个问题。
VSCode python调试器将仅在行尾识别CRLF或LF,但不能识别两者。当文件中两者混合时,调试器似乎会跳过行(但它们仍会执行)。就我而言,这是因为我在调试会话期间添加了代码行,并且当我在调试器会话中保存文件时,行尾字符与文件中的默认字符不同。
要解决此问题,我只需要将VSCode底部蓝色条右侧的换行设置从CRLF更改为LF,再更改回CRLF并保存文件即可。