VSCode Xdebug和DBGp代理

问题描述 投票:0回答:1

我正在尝试在Visual Studio Code中调试SFTP上托管的PHP应用程序。实际上我正在使用这个配置的“Php Debug”插件:

    {
        "name": "Listen for XDebug",
        "type": "php",
        "request": "launch",
        "port": 9001,
        "serverSourceRoot": "/var/www/httpdocs/project",
        "localSourceRoot": "${workspaceRoot}"
    },

显然它不起作用,因为我没有设置DBGp代理或类似的东西。

因为它是为了工作我的公司建议我使用PhpStorm并将我链接到这个:

https://confluence.jetbrains.com/display/PhpStorm/Multi-user+debugging+in+PhpStorm+with+Xdebug+and+DBGp+proxy

如何用VSCode做到这一点?

php visual-studio-code xdebug
1个回答
-1
投票

检查这个答案!

  1. http://code.activestate.com/komodo/remotedebugging/下载DBGp代理客户端,我使用Komodo-PythonRemoteDebugging-11.0.2-90813-linux-x86_64.tar 我的bash
#!/bin/bash

export PYTHONPATH=./pythonlib
python -c "import dbgp.client; print 'import lib ok'"

./pydbgpproxy -d 0.0.0.0:9999 -i 0.0.0.0:9001

并运行

import lib ok
INFO: dbgp.proxy: starting proxy listeners.  appid: 20018
INFO: dbgp.proxy:     dbgp listener on 0.0.0.0:9999
INFO: dbgp.proxy:     IDE listener on  0.0.0.0:9001

php xdebug.ini

xdebug.remote_handler = dbgp
xdebug.remote_host = 10.0.1.88 # DBGp ip 
xdebug.remote_port = 9999 # DBGp port
  1. 带端口的ssh隧道 的.ssh /配置
# ...
RemoteForward 20000 localhost:20000 # vscode php-debug config
LocalForward 9001 localhost:9001 # DBGp port
# ...

并与ssh连接

  1. vscode launch.json
"configurations": [
        {
            "name"        : "vscphpdebug",
            "type"        : "php",
            "request"     : "launch",
            "port"        : 20000,
            "stopOnEntry" : false,
            "pathMappings": {
                "/server/php": "${workspaceFolder}"
            },
        }
    ]

并在vscode中启动debug

  1. telnet DBGp端口和注册密钥使用:proxyinit -p 20000 -k vscdebug -m 1
$telnet 127.0.0.1 9001
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
proxyinit -p 20000 -k vscdebug -m 1
<?xml version="1.0" encoding="UTF-8"?>
<proxyinit success="1" idekey="vscdebug" address="0.0.0.0" port="9999"/>Connection closed by foreign host.

并停止DBGp使用此:proxystop -k vscdebug

$ telnet 127.0.0.1 9001
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
proxystop -k vscdebug
<?xml version="1.0" encoding="UTF-8"?>
<proxystop success="1" idekey="vscdebug"/>Connection closed by foreign host.
  1. 在VSCode上启动调试(PHP Debug felixfbecker.php-debug)

快乐调试!

© www.soinside.com 2019 - 2024. All rights reserved.