标签: vscode-debugger

vscode-jest 在打字稿源文件中带有 ts-jest 断点

我有一个 TypeScript 项目,并通过ts-jest使用 Jest进行测试。在 VS Code 中,我安装了插件vscode-jest。调试并不完全如我所愿:

  • 我可以通过单击Debugvscode-jest 生成的 CodeLens来启动调试会话
  • 如果我在测试代码中放置断点,调试器将按预期在断点处暂停
  • 但是如果我在代码中放置断点,调试器将忽略它

我想这是因为 ts-jest 的工作方式。断点可能永远不会找到,因为测试是在 JS 文件而不是 TS 文件上运行的。

如果我在使用 Create React App 引导的 JS 项目中尝试相同的操作,我可以在源文件中设置断点,调试器将停止。这很有趣,因为这些源文件也是由 babel 编译的......

我想知道是否可以调整我的设置,以便调试器能够识别源文件中的断点。

在下面发布一些可能相关的文件:

jest.config.js

module.exports = {
    transform: {
        '^.+\\.tsx?$': 'ts-jest',
    },
    testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$',
    testPathIgnorePatterns: ['/dist/', '/node_modules/'],
    moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
    collectCoverage: false,
};
Run Code Online (Sandbox Code Playgroud)

tsconfig.json

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "declaration": true,
        "outDir": "./dist",
        "strict": true,
        "noImplicitAny": true,
        "strictNullChecks": true, …
Run Code Online (Sandbox Code Playgroud)

typescript jestjs visual-studio-code vscode-debugger

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

将 ruby​​-debug-ide 连接到现有的 Rails 服务器

背景

我已ruby-debug-ide在 Visual Studio Code 中完成远程调试(我正在使用 Docker)的所有设置。docker-compose.yml我在启动ruby-debug-ide和 Rails 服务器中使用此命令:

rm -f /api/tmp/pids/server.pid && rdebug-ide --host 0.0.0.0 --port 1234 -- bin/rails server --port=3000 --binding=0.0.0.0
Run Code Online (Sandbox Code Playgroud)

然后在 vscode 中我有这个 launch.json 脚本:

{
  "name": "Listen for rdebug-ide",
  "type": "Ruby",
  "request": "attach",
  "cwd": "${workspaceRoot}",
  "remoteHost": "127.0.0.1",
  "remotePort": "1234",
  "remoteWorkspaceRoot": "/app",
  "showDebuggerOutput": true
}
Run Code Online (Sandbox Code Playgroud)

当我转到 vscode 并启动 launch.json 脚本时,我的 Rails 服务器以及调试器都会启动。但是当我停止/分离 launch.json 脚本时,rails 服务器崩溃了。

我的问题

有没有办法独立启动我的 Rails 服务器ruby-debug-ide我希望在不进行调试时能够访问我的 Rails 应用程序。是否可以做这样的事情:

# start my rails server
rm …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-debug-ide visual-studio-code vscode-debugger

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

使用 Chrome、webRoot 属性调试 VS Code

我正在尝试调试一个简单的 node.js 项目,使用 Chrome 命中断点

C:\node 中的文件结构很简单:

node_modules(文件夹)、package.json、server.js

我已经安装了扩展“Chrome 调试器”并构建了一个 launch.json 文件

{
    "version": "0.1.0",
    "configurations": [
        {
          "type": "chrome",
          "request": "launch",
          "name": "Launch Chrome",
          "url":"http://localhost:8080/api",
          "webRoot": "${workspaceFolder}",   
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

但是它不会遇到 server.js 文件中的断点。

我认为问题在于 webRoot 属性。

经过大量阅读和反复试验后,我最终无法弄清楚这一点。

任何帮助将不胜感激

node.js visual-studio-code vscode-debugger

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

如何配置 VS Code 以便能够单步执行调试 Python 脚本时加载的共享库 (.so)?

从命令行使用 gdb,我可以在加载共享库时中断。知道我有共享库的源代码,如何在 VS Code 中获得相同的行为?

python shared-libraries visual-studio-code vscode-debugger

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

如何使用 HTTPS 代理启动 VSCode chrome 调试器

我之前在没有 SSL 代理的情况下从 VSCode 启动了 chrome,所以我猜这是我问题的根源。这是我的 VSCode launch.json 配置:

{
    "name": "Launch Chrome",
    "request": "launch",
    "type": "pwa-chrome",
    "url": "https://example.com:8000",
    "webRoot": "${workspaceFolder}"
}
Run Code Online (Sandbox Code Playgroud)

我在监视模式下使用 webpack,该模式在端口 8000 上启动,并且我正在运行 Express https 服务器代理。

启动配置可以很好地启动 url,但它不会激活 VSCode 中的断点。

我找不到有关特定于 SSL 的启动配置的任何信息。

有什么我可以尝试让调试器正常工作并激活这些断点的方法吗?

谢谢!

https node.js visual-studio-code vscode-debugger

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

Next 用于调试的 JS 服务器端默认端口

我一直在尝试NextJS通过标记breakpoint. 我正在使用VSCode我的开发。

最初,我的launch.json就是这样。

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "Launch Chrome against localhost",
            "url": "http://localhost:3000",
            "webRoot": "${workspaceFolder}"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这很好用;但是,它不会命中任何服务器端代码,例如getStaticProps,getStaticPathsgetServerSideProps

我发现这篇博文相信可以解决我的问题。所以我添加了一个脚本到package.json我的launch.json. 所以现在看起来像这样

package.json

{
  "scripts": {
    "debug": "node --inspect-brk ./node_modules/next/dist/bin/next"
  }
}
Run Code Online (Sandbox Code Playgroud)

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "Launch Chrome against localhost",
            "url": "http://localhost:3000",
            "webRoot": "${workspaceFolder}"
        },
        { …
Run Code Online (Sandbox Code Playgroud)

debugging breakpoints visual-studio-code next.js vscode-debugger

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

VS Code 调试控制台不显示日志的行号

这对我来说似乎最近才改变。我喜欢记录一些消息并查看它来自的行/文件,但是现在当我记录一个对象时,行号不再显示。谁有想法?谢谢 在此处输入图片说明

如您所见,“测试”日志显示文件名和行,但 obj 日志没有。

visual-studio-code vscode-debugger

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

“NODE_OPTIONS”未被识别为内部或外部命令 - 仍然是一个问题

我在 nextjs 应用程序上遵循此处的指南。在 Windows 上使用 VSCode。

它说使用脚本:“dev”:“NODE_OPTIONS='--inspect' next dev”

这导致:

'NODE_OPTIONS' 不是内部或外部命令,也不是可运行的程序或批处理文件。

是的,我知道已经有一个同名的问题,但它已有 2.5 年的历史,有 8k 次观看,但没有被接受的答案。我无法评论以添加信息。随意将其标记为重复,但请至少将其链接到另一个问题的评论中。

那里的一个答案建议安装另一个(维护模式)依赖项并将其配置为更改环境变量。

这项研究和其他研究使我相信这里的环境变量存在问题。我不能手动设置它们吗?为什么下一个官方指南中没有提到这一点?如何设置正确的环境变量?

debugging visual-studio-code next.js vscode-debugger

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

VSCode 调试:在一行中输入多个命令行参数

我知道我可以让 VSCode 在调试器下启动程序时提示我输入命令行参数,方法是在 launch.json 中指定如下内容:

{
    "configurations": [
        {
            "name": "(gdb) Launch MyApp",
            "type": "cppdbg",
            "program": "MyApp",
            "args": [ "${input:arg}" ],
        }
    ],
    "inputs": [
        {
            "type": "promptString",
            "id": "arg",
            "description": "Enter argument",
            "default": "something"
        },
    ]
}
Run Code Online (Sandbox Code Playgroud)

但是,这只允许我输入一个参数。要输入多个,我可以在args数组中有多个条目,每个参数一个。

不幸的是,当我想测试零到 N 命令行参数的不同组合时,这不会扩展,因为它需要在每次调用之前编辑 launch.json。

有没有办法让 VSCode 在一行中提示我输入所有命令行参数,就像我在终端上输入它们一样?

c++ command-line-arguments visual-studio-code vscode-debugger

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

AttributeError: dlsym(RTLD_DEFAULT, AttachDebuggerTracing): 未找到符号

我正在尝试在 vs 代码(mac os big sur)中使用调试器,但没有成功。我在 m1 macbook air 上。vs 代码内部人员版本。我已经尝试过所有这些 python 解释器:

3.9.6 - /opt/homebrew/bin/python3 3.9.1 - /usr/local/bin/python3 3.8.2 - /usr/bin/python3 2.7.16 - /usr/bin/python

我试过这个launch.json文件:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是我总是得到的错误:

 /usr/bin/env /usr/local/bin/python3 /Users/arch0n/.vscode-insiders/extensions/ms-python.python-2021.7.1053846006/pythonFiles/lib/python/debugpy/launcher 50295 -- /Users/arch0n/Desktop/py-w3schools/2.py 
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/Users/arch0n/.vscode-insiders/extensions/ms-python.python-2021.7.1053846006/pythonFiles/lib/python/debugpy/__main__.py", line …
Run Code Online (Sandbox Code Playgroud)

python homebrew visual-studio-code vscode-debugger

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