标签: vscode-debugger

Xdebug 无法跨过或进入 - 使用 VSCode 和 Windows

希望以下内容足以让您继续下去。

我的设置

我在用着:

  • Windows 10(现在版本 19043.1288),
  • VSCode (v1.61.2) 与
  • PHP 调试(v1.21.1),
  • Firefox 和 Google Chrome 浏览器,
  • XAMPP(v3.3.0)
  • Xdebug(现在 v3.1.1-7.4x86_64)
  • 我还在后台运行 Ubiquiti 网络控制器和 BitDefender AV。

PHP.ini

[Xdebug]
zend_extension = xdebug
;zend_extension = "c:\xampp\php\ext\php_xdebug-3.1.1-7.4-vc15-x86_64.dll"

xdebug.remote_enable=1
xdebug.remote_autostart=1

xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_port = 9000
xdebug.log = "c:\xampp\htdocs\j4\tmp\xdebug.log"
Run Code Online (Sandbox Code Playgroud)

问题

我已经使用 VSCode/XAMPP/Xdebug 与 Joomla 3 一起工作了一年多,没有出现任何问题。我离开了几周,当我回来时,我无法单步进入任何 Joomla 3 模块/类。VSCode 会在断点处停止,但单步执行和单步执行都会立即转到父调用函数。

啊,我对自己说,可能 Windows 做了一些事情 - 可能是升级到 J4 以及更新我的环境的好时机。同样的问题。在第一个断点处停止,不会单步执行或单步执行 - 它不会在后续断点处停止。似乎是核心 J4 模块中的单步。堆栈显示正常 - 可以检查初始化的变量。

我尝试过的

一切!为了保持相关性 - 我现在安装了一个全新的、开箱即用的、纯正的 XAMPP、Joomla4 和 Xdebug(按照 Xdebug 向导的建议)。我还暂时禁用了我的 AV …

php joomla xdebug vscode-debugger xdebug-3

5
推荐指数
0
解决办法
586
查看次数

vscode 中的调试不会在断点处停止,调试器启动时显示“无法找到文件...”

乌班图。vscode 1.62.1。去1.17.3。vscode go 扩展 v0.29.0。深入研究 v1.7.1。

我是 vscode 和 Go 的新手。我有多年在 Eclipse 中调试 Java 应用程序的经验。

我构建了一个小型多模块 Go 应用程序。我可以在其他模块的 main 和其他函数中设置断点。在 main.go 中,我选择“开始调试”。

它启动应用程序,我可以从控制台得知它正在工作,并且 REST 端点以我的虚拟响应进行响应。

但是,它不会在断点处停止。当我开始会话时,红色断点标记突然变得空心,并且将鼠标悬停在其中一个断点标记上会显示一条消息“无法找到文件...”,该消息会打印相关源文件的完整路径。

当我启动它时,它在控制台中显示以下内容:

开始: /home/.../go/bin/dlv-dap dap --check-go-version=false --listen=127.0.0.1:43347 --log-dest=3 来自 /home/.../ ... DAP 服务器监听:127.0.0.1:43347

我还没有修改 launch.json (我希望有一天能够提供一个更友好的界面来编辑启动配置)。

我还能做错什么吗?

更新

这是在我按 F5(开始调试)之前显示 main.go 的屏幕截图:

按 F5 之前

请注意,我在 main 的第一行 print 语句上有一个断点。

这是我按 F5 后看到的:

按F5后

请注意,它在控制台中打印了“At start of main”。它并没有停在断点处。另请注意将鼠标悬停在断点上时工具提示中的消息。

更新

这是我的目录结构的视图:

项目目录结构

go delve vscode-debugger

5
推荐指数
1
解决办法
6870
查看次数

无法在 VSCode 中调试 ASP.NET Core Webapp 6.0

早些时候,我使用 6.0预览版创建了 ASP.NET Core Web 应用程序,并且能够在 VSCode 中对其进行调试。

然后,我在一周前将我的应用程序升级到了最终的 6.0 版本。从那时起我就无法再调试它了。调试器在 1 秒内立即启动和停止。

我使用的是 Mac OS,使用 dotnet core 6.0 的发布版本。

这是我的launch.config调试条目:

{
  "name": ".NET Core Launch (web)",
  "type": "coreclr",
  "request": "launch",
  "preLaunchTask": "Build:Api",
  "program": "${workspaceFolder}/api/bin/Debug/net6.0/api.dll",
  "args": [],
  "cwd": "${workspaceFolder}",
  "stopAtEntry": false,
  "serverReadyAction": {
    "action": "openExternally",
    "pattern": "\\bNow listening on:\\s+(https?://\\S+)"
  },
  "env": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
},
Run Code Online (Sandbox Code Playgroud)

我已经检查过,我的所有扩展都是最新的。

有没有办法至少可以查看日志来找出调试器无法启动的原因?

.net-core visual-studio-code asp.net-core vscode-tasks vscode-debugger

5
推荐指数
1
解决办法
1560
查看次数

无法使用 Rust 在 VSCode-LLDB 中创建条件断点

我正在使用 LLDB 在 VS-Code 中调试 Rust 程序。

关于表达式的文档说有程序变量和结构的 Python 投影。

所以我检查了调试器中的情况,并设置了断点,但表达式不起作用。

变量部分,有ooo,它是一个列表,其中第 0 个元素具有id并且它的第 0 个元素具有我正在查找的值。但是,表达式/se ooo[0]['id'][0] == 135654667在 Python 调试器中引发 IndexError:IndexError: Index '0' is out of range

具有讽刺意味的是,当您在调试控制台中键入该内容时,它会起作用并建议一个表达式!

在此输入图像描述

我尝试过原生 Rust 表达式:

/nat ooo.id().inner_id() == 135654667
Run Code Online (Sandbox Code Playgroud)

输出是

Stopped due to an error evaluating condition of breakpoint 1.1: "ooo.id().inner_id() == 135654667"
Couldn't execute expression:
error: no field named id
Run Code Online (Sandbox Code Playgroud)

...尽管在真实的应用程序中该表达式确实有效:

let x = ooo.id().inner_id() == 135654667;
println!("{}", x);
Run Code Online (Sandbox Code Playgroud)

这会编译并打印 id。 …

rust lldb vscode-debugger

5
推荐指数
1
解决办法
1542
查看次数

无法使用 Angular 13 在 VS Code 中命中断点

下面是我的launch.js

{
    // 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": [
        {
            "type": "pwa-chrome",
            "request": "launch",
            "name": "Launch Chrome against localhost",
            "url": "http://localhost:4200",
            "webRoot": "${workspaceFolder}"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

在 中launch.js,我尝试将 webRoot 更改为"webRoot": "${workspaceFolder}/src",但没有产生影响。

我的应用程序已启动并正在运行ng serve,但是当我点击F5启动调试模式时,没有任何断点被命中,它们都是unbound/greyed out

以下是我angular.js的,以防有人需要。

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "angular-u-project-one": {
      "projectType": "application", …
Run Code Online (Sandbox Code Playgroud)

debugging visual-studio-code angular vscode-debugger

5
推荐指数
1
解决办法
2112
查看次数

在 VSCode 中调试 mts 文件(Typescript 4.5)

尝试调试 mts 文件时,我很难获取要绑定的断点。代码运行并输出正确的结果(在本例中只是一堆 console.log 语句)有趣的是,如果我首先转到生成的 mjs 文件并在该文件中插入一个断点,它将在 mts 中拾取断点文件。如果 mjs 文件中没有断点,则调试器不会附加。

设置:

  • 节点 16.13.2 或 17.3.1
  • 打字稿 4.5
  • package.json:未定义“类型”
  • 启动.json:
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Debug",
      "program": "${workspaceFolder}/lib/src/debug.mjs",
      "preLaunchTask": "tsc: build - tsconfig.debug.json"
    }
Run Code Online (Sandbox Code Playgroud)
  • tsconfig.json:
    {
      "compilerOptions": {
        "target": "ES2020",
        "lib": ["DOM", "DOM.Iterable", "ES2020"],
        "allowJs": true,
        "skipLibCheck": true,
        "strict": true,
        "forceConsistentCasingInFileNames": true,
        "noEmit": true,
        "esModuleInterop": true,
        "allowSyntheticDefaultImports": true,
        "module": "ES2020",
        "moduleResolution": "node",
        "resolveJsonModule": true,
        "isolatedModules": true,
        "jsx": "preserve",
        "incremental": true,
        "typeRoots": ["./types", "./node_modules/@types"]
      },
      "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", …
Run Code Online (Sandbox Code Playgroud)

typescript visual-studio-code vscode-debugger

5
推荐指数
1
解决办法
667
查看次数

是否可以像 PyCharm 一样在 vscode python 调试器中显示可变形状和长度?

在 PyCharm 中,列表的长度以及 numpy 数组和 pytorch 张量的形状显示在调试器中,如下 所示

,这使得我们无需展开变量、向下滚动、一一查找属性就可以获得这些属性。在 VSCode 中可以做到这一点吗?

python pycharm visual-studio-code vscode-debugger

5
推荐指数
1
解决办法
1696
查看次数

使用 tsconfig-paths 在 Visual Studio Code 中进行打字稿调试

我一直在尝试让 Visual Studio Code 来调试 Typescript,并不断接近但还没有完全实现。我将查看tsconfig-paths 文档,因为我在 tsconfig.h 中定义了路径。我可以从 VSC 启动,但是当 VSC 在 TS 代码中的断点处停止时,它也会在生成的 JS 中的相应代码处停止。这是我所拥有的:

ts配置:

  "compilerOptions": {
    "lib": ["es2020"],
    "target": "es2020",
    "outDir": "build",
    "module": "CommonJS",
    "baseUrl": ".",
    "esModuleInterop": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "sourceMap": true,
    "paths": {
        "@/*": ["src/*"]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

包.json:

  "scripts": {
    "build": "tsc",
    "start": "npm run build && node ./build/index.js"
  },
  "dependencies": {
  },
  "devDependencies": {
    "@types/node": "15.3.0",
    "ts-node": "^10.7.0",
    "ts-node-dev": "^1.1.8",
    "tsconfig-paths": "^3.14.0",
    "typescript": "4.2.4"
  }
}
Run Code Online (Sandbox Code Playgroud)

启动.json:

{
    // …
Run Code Online (Sandbox Code Playgroud)

typescript visual-studio-code vscode-debugger

5
推荐指数
0
解决办法
1295
查看次数

如何在 VS Code 中禁用文件观察器?

我收到此错误:“文件更改观察程序意外停止。重新加载窗口可能会再次启用观察程序,除非无法监视工作区的文件更改。”

我不使用也不想要文件观察器。如何将其完全关闭?

visual-studio-code vscode-debugger

5
推荐指数
0
解决办法
776
查看次数

使用 Visual Studio Code 进行打字稿调试

我正在尝试在代码中绑定断点,但我从可视代码中得到了这一点:

“此断点最初设置在:C:\workspace\N3urons\order-service\src\entities\Order\OrderController.ts 第 595 行第 1 列

我们找不到相应的源位置,但找到了其他一些同名文件:file:///C:/workspace/N3urons/order-service/src/entities/Order/OrderController.ts

C:/workspace/N3urons/order-service/src/entities/Order/OrderController.ts

如果这是同一个文件,您可能需要调整构建工具以更正路径。”

我在 Windows 上编码,Visual Studio 找不到该文件,但找到了带有这些斜杠的匹配文件。有人可以帮我解决这个问题吗?

我的 launch.json 如下所示:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "attach",
      "name": "Node: Nodemon",
      "processId": "${command:PickProcess}",
      "restart": true,
      "protocol": "inspector"
    },
    {
      "name": "Docker: Attach to Node",
      "type": "node",
      "request": "attach",
      "port": 9231,
      "address": "localhost",
      "localRoot": "${workspaceFolder}",
      "remoteRoot": "/usr/src/service",
      "sourceMapPathOverrides": {
        "/usr/src/service/*": "${workspaceRoot}/*"
      },
      "protocol": "inspector",
      "restart": true
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

javascript typescript visual-studio-code vscode-debugger

5
推荐指数
0
解决办法
837
查看次数