【问题标题】:Azure Functions. Debugging java from VS Code. Can not connect to a debugee VMAzure 函数。从 VS Code 调试 java。无法连接到被调试虚拟机
【发布时间】:2018-12-11 13:48:29
【问题描述】:

有没有人遇到过这样的问题。拥有 Azure Functions 应用(使用 beta-2 插件版本)。应用程序启动后,我收到 VSCode 无法附加以删除被调试虚拟机的错误。原因:连接被拒绝。

我的 VSCode 安装了以下插件:ms-azuretools.vscode-azurefunctions、vscjava.vscode-java-debug、vscjava.vscode-java-pack、vscjava.vscode-maven、redhat.java

launch.json 包含以下配置:

`{
    "name": "Attach to Java Functions",
    "type": "java",
    "request": "attach",
    "hostName": "localhost",
    "port": 5005,
    "preLaunchTask": "runFunctionsHost"
}`

runFunctionsHost 包含以下脚本: mvn clean package -B; func host start --debug VSCode --script-root ....

操作系统:windows

【问题讨论】:

  • 如果您查看终端输出,是否会在函数运行时启动时显示“正在侦听地址:5005 的传输 dt_socket”?
  • 不,不是那样的:-(
  • 好的,发现一个问题。在 local.settings.json 中添加了“JAVA_OPTS”:“-Djava.net.preferIPv4Stack=true -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=127.0.0.1:5005”
  • 伊戈尔,这解决了你的问题吗?
  • 是的,JAVA_OPTS 成功了

标签: java azure debugging visual-studio-code azure-functions


【解决方案1】:

解决方案是将“JAVA_OPTS”参数添加到 local.settings.json 中,其值类似于“-Djava.net.preferIPv4Stack=true -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,地址=127.0.0.1:5005"

【讨论】:

  • 我应该在哪里添加这个参数?找不到 local.settings.json 文件还是您的意思是 launch.json?
  • 对我不起作用,在两个 json 中都试过了。我 Intelij 工作时没有出现该错误。
猜你喜欢
  • 1970-01-01
  • 2015-02-08
  • 2012-06-17
  • 1970-01-01
  • 2023-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多