标签: vscode-debugger

使用 VSCode Chrome 调试器调试 Electron 渲染过程

设置角度 + 电子调试配置,它正在缓慢但肯定地粉碎我的灵魂。出于某种原因,渲染过程中没有击中断点(VSCode 显示错误Breakpoint ignored because generated code not found (source map problem?)")。

我的调试配置看起来像这样(完整的回购在这里):

// .vscode/launch.json
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Electron: Main",
      "protocol": "inspector",
      // Prelaunch task compiles main.ts for Electron & starts Angular dev server.
      "preLaunchTask": "Build: All",
      "cwd": "${workspaceFolder}",
      "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
      "runtimeArgs": ["--remote-debugging-port=9223", "--serve", "."],
      "windows": {
        "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd"
      }
    },
    {
      "name": "Electron: Renderer",
      "type": "chrome",
      "request": "attach",
      "port": 9223,
      "webRoot": "${workspaceFolder}",
      "timeout": 30000,
      "urlFilter": "http://localhost:4200/*", …
Run Code Online (Sandbox Code Playgroud)

debugging electron visual-studio-code angular vscode-debugger

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

在无效的源代码发布级别 13 启用预览功能,只能在源代码级别启用预览 14Java(2098258)

VS Code 在过去几天中显示出从我的电脑进入我的电脑的异常行为。我无法运行简单的 java 代码。一开始,它给出了一个错误:

> 在无效的源代码发布级别 13 启用预览功能,只能在源代码级别 14Java 启用预览(2098258)

编译结果以:`

错误:无法找到或加载主类 Lol 导致:java.lang.ClassNotFoundException:Lol

Lol 是我在其中定义 main 方法的类名。

class Lol
{
  public static void main(String args[])
  {
    System.out.println("write the String");
  }
}
Run Code Online (Sandbox Code Playgroud)

每次我陈述一个新项目时,它都会向我展示完全相同的结果,并最终为所有当前和以前构建的 Java 代码给出此错误。

我已将 jdk14 安装到我的电脑中,并在阅读有关 stackoverflow 的一些解决方案后正确添加了路径。但这根本没有帮助。

谁能告诉我问题到底出在哪里???

java visual-studio-code vscode-settings vscode-debugger

5
推荐指数
2
解决办法
9742
查看次数

即使在 python 中的 try catch 中,如何让 vscode 调试器停止?

看到建议为“相似”的问题,似乎大多数人想要的与我想要的相反。我想要的是 Vs-code 的调试器在错误点停止,即使在 try catch 中(通常会这样做)。

但是,当在像这样的 try catch 中时,它所做的并不是停止:

import traceback 

try:
    main() # has bugs I'm trying to debug
except Exception as e:
    send_email(traceback.format_exc())
    send_email(e)
Run Code Online (Sandbox Code Playgroud)

我知道这可能是一件奇怪的事情,并且 vs-code 的调试器可能运行正确(因为我的代码告诉它如何处理异常!)但我有一些错误,我想调试而不是捕捉。事实上,我的外部 try catch 就在那里,因为我正在使用一个集群,当有任何错误时,它会向我发送电子邮件并告诉我有关它们的信息。否则我就不会在我的主要代码周围有一个 try catch 。

当我实际调试时,有没有办法告诉 vs-code 忽略我的尝试捕获?


我在写这篇文章时的一个想法是改变我捕捉到的异常类型……虽然在调试期间我希望它总是停止,而在不调试时我希望它永远不会停止并向我发送一封包含漏洞。

有任何想法吗?


新错误:

Exception has occurred: TypeError
catching classes that do not inherit from BaseException is not allowed
Run Code Online (Sandbox Code Playgroud)

使用我的EmptyException答案时:

class EmptyError(Exception):
    def __init__(self):
        pass
Run Code Online (Sandbox Code Playgroud)

visual-studio python-3.x visual-studio-code vscode-debugger

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

是否可以逐个调试结构/类初始化成员?

像这样初始化一个类:

var x = new Item()
{
 ID = (int)...,
 Name = (string)...,
 ..
};
Run Code Online (Sandbox Code Playgroud)

我在其中一项任务中收到 InvalidCastException。它们有很多,即使我逐行运行调试器,整个表达式也会发生异常。异常没有给出任何线索,它试图将什么转换为什么。

有没有办法单独调试每个作业?我已经看到调试器在表达式上分别停止了 3 次,foreach(x in y)所以在这里没有这样做似乎有点奇怪,并且有损使用这种方便的初始化语法的吸引力。也许我可以使用更细粒度的调试步骤?

c# visual-studio-2017 vscode-debugger

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

使用 Docker 和 WSL2 在 VSCode 中调试 PHP 时出现的问题

几年来,我一直在 Windows 中使用 VSCode + Docker,并且设法拥有一个完全正常工作的开发环境,没有任何问题。

最近我用 WSL2 设置了一个新的开发环境。将我所有的项目、库、CLI 等移动到 WSL,使用带有 WSL2 容器的 Docker Windows 和 Windows 上的 VSCode 远程连接到 WSL。一切都非常顺利,我喜欢我可以将一切分开的事实。

但是最近我遇到了一个我无法解决的问题,我失去了调试 PHP 文件的能力。我正在使用 VSCode 远程 WSL 扩展来处理 WSL 内的项目,但是当我尝试调试时,没有任何反应。

对于我使用的每个开发环境(Windows、MacOS 和 WSL),我的 VSCode 中都有树调试设置。除 WSL 外的所有工作。当我尝试使用 WSL 进行调试时,实际上什么也没发生,没有输出错误,没有调试控制台信息,什么都没有...

这是我的 VSCode 调试设置:

{
    "version": "0.2.0",
    "configurations": [{
            "name": "Listen for XDebug Win10",
            "type": "php",
            "request": "launch",
            "port": 9000,
            "log": true,
            "externalConsole": false,
            "pathMappings": {
                "/var/www/project-a/api": "\\\\wsl$\\Ubuntu\\home\\ubuntu\\PROJECTS\\project-a\\api",
            },
            "ignore": [
                "**/vendor/**/*.php"
            ]
        },
        {
            "name": "Listen for XDebug MacOS",
            "type": "php", …
Run Code Online (Sandbox Code Playgroud)

php docker visual-studio-code vscode-debugger wsl-2

5
推荐指数
2
解决办法
4301
查看次数

VSCode 的 Auto Attach 不会为 Node.js 切换

我使用 WSLcode .从 Windows 终端中的项目目录启动 VSCode 。VSCode 启动时,状态栏显示“Auto Attach: Off”:

在此处输入图片说明

单击状态栏中的“自动附加:关闭”不会切换它。

然后我在 VSCode 的集成终端中启动我的项目npm run debug,它对应于 中的以下scriptspackage.json

"scripts": {
  "debug": "NODE_ENV=development DEBUG='knex:*' nodemon --inspect ./server.js"
}
Run Code Online (Sandbox Code Playgroud)

但是,调试器不是自动附加的,因此我需要Attach从此处左侧显示的“运行”面板手动运行配置:

在此处输入图片说明

调试器可以工作,但我仍然无法将其切换Auto Attach: OffOn

在此处输入图片说明

即使我Ctrl+Shift+P --> Debug: Toggle Auto Attach,也没有任何反应。即使我这样做后重新启动 VSCode。


因此,总而言之,我如何code .从 Windows 终端启动我的 VSCode,然后输入npm run debug并拥有 VSCode,运行我的程序并自动附加调试器?我还需要服务器在文件更改时重新启动,这就是我nodedemonnpm run debug脚本中使用的原因。

我是否需要:

  • launch.json配置?尽管我基本上已经尝试launch.json了 VSCode …

node.js visual-studio-code windows-subsystem-for-linux vscode-debugger vscode-remote

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

如何使用键盘专注于 git commit 消息输入 VSCode?

有什么方法可以通过键盘而不是在 VisualStudioCode 中单击鼠标来关注此输入?

在此处输入图片说明

visual-studio-code vscode-settings vscode-debugger

5
推荐指数
3
解决办法
199
查看次数

如何在 vscode 中设置 C/C++ 内存观察点?

gdbI can type watch &variable,然后继续,每当有内容写入该地址时,gdb 就会中断。

我正在使用 vscode 进行调试并希望做同样的事情(这与观察窗口不同,它只会在断点被击中后显示变量值)。是否可以?

我可以通过单击“+”并输入来手动添加断点,&variable但它永远不会变为活动状态并表示该模块尚未加载。我试过-exec watch &variable在调试器控制台窗口中手动输入,但在使用播放按钮继续执行后它挂起(vscode 认为程序再次运行,但事实并非如此)。

这有一些 github 问题,但它们无缘无故地关闭了:

gdb watch watchpoint visual-studio-code vscode-debugger

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

如何在 VSCode 上设置数据断点(即观察点)

我不是 VSCode 的专家,但我看到从 1.38 版开始,可以添加观察点(修改给定内存区域时中断的断点,许多调试器支持的功能),至少对于 C/C++ ,请参阅此处https://jaxenter.com/vs-code-1-38-161797.html和此处https://github.com/microsoft/vscode/issues/58304。现在我的VSCode版本是1.48.2,还是不知道怎么弄,也找不到合适的解释。如果有人可以解释如何做(或是否可行),那肯定对我和 VSCode 社区都非常有益。

c c++ debugging visual-studio-code vscode-debugger

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

使用 debugpy 和 vs 代码在 docker 容器中调试 python 导致超时/连接被拒绝

我正在尝试使用 debugpy 为 Visual Studio Code 在 docker 中运行的 python 脚本设置本机调试。理想情况下,我只想 F5 并在路上(如果需要,包括构建阶段)。目前,我debugpy.listen(5678)在由 VS 代码编辑器本身内联引起的超时(发生异常:RuntimeError 超时等待适配器连接)或连接被拒绝之间来回跳动。

我从微软提供的文档中创建了一个launch.json:

启动文件

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to Integration (test)",
            "type": "python",
            "request": "attach",
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}/test",
                    "remoteRoot": "/test"
                }
            ],
            "port": 5678,
            "host": "127.0.0.1"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,构建图像看起来像这样:

文件

FROM python:3.7-slim-buster as base
RUN apt-get -y update; apt-get install -y vim git cmake

WORKDIR /
RUN mkdir .cache src in out config log
COPY requirements.txt . …
Run Code Online (Sandbox Code Playgroud)

remote-debugging python-3.x docker visual-studio-code vscode-debugger

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