在使用vscode进行调试时,我想对一些我没有编写的代码进行"黑盒化"处理,以避免进入其中。我该如何实现这个功能?
在使用vscode进行调试时,我想对一些我没有编写的代码进行"黑盒化"处理,以避免进入其中。我该如何实现这个功能?
在您的启动或附加调试任务中,您可以输入
"skipfiles"
选项,该选项是:
"一个要在调试时跳过的文件或文件夹名称、路径模式的数组。"
例如,在跳过调试期间的Node内部代码中。
"skipFiles": [
"${workspaceFolder}/node_modules/**/*.js",
"${workspaceFolder}/yourLibToSkip/**/*.js"
]
此外,您可以使用“magic reference”引用内置的核心节点模块:
"skipFiles": [
"<node_internals>/**/*.js"
]
"skipFiles":"[./node_modules/**]"
。 - Pavel Lasync_hooks.js
。 - Dan Dascalescu"skipFiles":["<node_internals>/**"]
是可行的,但在附加进程时似乎不起作用。 - Craig Hicks我不确定在哪里设置,所以以防万一,如果您想跳过node_modules
和node_internals
文件,您的.vscode/launch.json
文件应该是这样的:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Tests",
"type": "node",
"request": "launch",
...
"skipFiles": ["<node_internals>/**", "${workspaceFolder}/node_modules/**/*.js"]
}
]
}
skipFiles
的位置。其他参考资料没有解释这一点。 - undefined只有这个对我起作用。
"debug.javascript.terminalOptions": {
"skipFiles": [
"<node_internals>/**"
]
}
补充一下Mauro Aguilar正确的答案,这是我的launch.json文件的完整内容。请注意,我正在使用VS Code 1.60.2在Windows 10上调试一个ReactJS应用程序(大约是2021年),使用Chrome v.94。如果您正在使用Linux机器或Mac,则可能会有所不同。
{
// 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:3000",
"webRoot": "${workspaceFolder}",
"skipFiles": ["<node_internals>/**/*.js", "${workspaceFolder}/node_modules/**/*.js"]
},
]
}
"skipFiles": [
"<node_internals>/**",
"**/vendors-*",
],
由于某些原因,我需要添加两种类型的跳过文件条目。
"skipFiles": [
"${workspaceFolder}/node_modules/**/*.js",
"<node_internals>/**"
],
看起来这个问题已经解决了。
"dart.debugExternalLibraries": false,
"dart.debugSdkLibraries": false,
如果我添加这个,调试器会在几步之后停止。
dart.debugExternalLibraries
重命名为:dart.debugExternalPackageLibraries
。 - Tomas Baran对于flutter应用程序,请在用户设置中添加以下内容:
"debugExternalPackageLibraries": false,
"dart.debugSdkLibraries": false,
这是我的 launch.json 文件(对我有效):
{
"version": "0.2.0",
"configurations": [
{
"type": "edge",
"request": "launch",
"name": "Launch Edge against localhost",
"url": "http://localhost:4200",
"webRoot": "${workspaceFolder}",
"skipFiles": [
"${workspaceFolder}/node_modules/**/*.js"
]
}
]
}