preLaunchTask和postDebugTask可自动化构建与清理,justMyCode设为false能进入库代码调试,sourceFileMap用于远程调试时源码路径映射,提升调试效率。

VSCode的配置文件,特别是
launch.json
解决方案:
launch.json
preLaunchTask
postDebugTask
例如,一个C++项目可能需要在调试前编译。 你可以在
tasks.json
launch.json
// tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "g++",
"args": [
"-g",
"${workspaceFolder}/main.cpp",
"-o",
"${workspaceFolder}/main"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
// launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/main",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"preLaunchTask": "build"
}
]
}preLaunchTask
tasks.json
postDebugTask
默认情况下,调试器可能只会步进到你自己的代码中,跳过库代码或框架代码。
justMyCode": false
这个属性在排查第三方库问题或深入理解框架内部机制时非常有用。 但也可能导致调试过程变得冗长,因为你需要步进大量的非自定义代码。
例如,当你使用一个你不熟悉的库,并且遇到了一些奇怪的行为,你可以将
justMyCode
false
需要注意的是,启用
justMyCode": false
在远程调试时,本地源代码路径可能与远程服务器上的路径不同。
sourceFileMap
例如,你的本地代码位于
/Users/yourname/project
/home/user/project
sourceFileMap
{
"version": "0.2.0",
"configurations": [
{
"name": "Remote Debug",
"type": "cppdbg",
"request": "launch",
"program": "/home/user/project/main",
"args": [],
"stopAtEntry": false,
"cwd": "/home/user/project",
"environment": [],
"externalConsole": false,
"sourceFileMap": {
"/home/user/project": "${workspaceFolder}"
}
}
]
}这样,当调试器在远程服务器上遇到
/home/user/project/main.cpp
${workspaceFolder}/main.cppsourceFileMap
以上就是VSCode的配置文件(如launch.json)有哪些隐藏属性?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号