mac远程vscode 服务器 出现 Unable to start debugging. Launch options string provided by the project system i
如果您使用的是Linux系统,并且遇到了VSCode中的调试问题,提示需要指定MIDebuggerPath,这通常意味着您需要在launch.json配置文件中指定GDB或LLDB调试器的路径。如果在您的系统中使用which gdb命令时返回“gdb not found”,这意味着GDB(GNU Debugger)尚未安装在您的Mac上。首先,确保您的环境设置正确。根据您的描述,似乎您是在尝试在m
Unable to start debugging. Launch options string provided by the project system is invalid. Unable to determine path to debugger. Please specify the "MIDebuggerPath" option
如果您使用的是Linux系统,并且遇到了VSCode中的调试问题,提示需要指定MIDebuggerPath,这通常意味着您需要在launch.json配置文件中指定GDB或LLDB调试器的路径。根据您提供的launch.json配置,您已经为Linux配置了MIMode为gdb,并且尝试将miDebuggerPath设置为gdb。如果这不起作用,可能是因为VSCode无法在默认路径中找到gdb,或者您根本没有安装gdb。
解决步骤
- 确认是否安装了GDB: 打开终端,输入gdb --version来检查是否安装了GDB。如果没有安装,您需要先安装它。在Debian系的Linux发行版(如Ubuntu)上,可以使用以下命令安装GDB:
bash
sudo apt-get update
sudo apt-get install gdb
找到GDB的安装路径: 如果已经安装了GDB,可以通过在终端输入which gdb来找到其安装路径。
更新launch.json配置: 根据which gdb命令的输出,更新launch.json中的miDebuggerPath。例如,如果which gdb输出的路径是/usr/bin/gdb,则需要将launch.json中的相应部分更新为:
json
- "linux": {
- "MIMode": "gdb",
- "miDebuggerPath": "/usr/bin/gdb",
- "program": "${workspaceFolder}/bin/main"
- },
确保将/usr/bin/gdb替换为您的实际GDB路径。- 重新尝试调试: 保存launch.json文件后,尝试再次启动调试会话。
注意事项
- 确保您的项目已经成功构建,且"${workspaceFolder}/bin/main"确实指向了一个有效的可执行文件。
- 如果您的项目需要特定的构建任务才能生成可执行文件,请确保"preLaunchTask"字段正确指向了这个构建任务。
按照以上步骤操作后,您应该能够解决VSCode中的调试问题。如果问题仍然存在,请检查VSCode的输出或调试控制台中是否有更具体的错误信息,这可能会提供更多关于问题的线索。
(base) zy@lfdeMacBook-Pro ~ % which gdb gdb not found
如果在您的系统中使用which gdb命令时返回“gdb not found”,这意味着GDB(GNU Debugger)尚未安装在您的Mac上。由于您提到正在使用的是Linux系统的配置,但实际上是在Mac上操作,这可能导致了一些混淆。首先,确保您的环境设置正确。根据您的描述,似乎您是在尝试在macOS上配置Linux的调试环境,但是我们将按照macOS上安装GDB的步骤来进行。
在macOS上安装GDB
macOS默认使用LLDB作为其调试器,它是与GDB相似的调试工具,随Xcode Command Line Tools一起安装。如果您特别需要GDB,可以按照以下步骤安装:
- 安装Homebrew: 如果您还没有安装Homebrew(macOS的包管理器),请先安装它。打开终端(Terminal)并运行以下命令:
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
使用Homebrew安装GDB: 安装Homebrew后,可以通过以下命令安装GDB:
bash
- brew install gdb
- 确认GDB安装: 安装完成后,使用gdb --version命令来确认GDB已正确安装。
- 找到GDB的安装路径: 使用which gdb命令来找到GDB的安装路径。这将返回GDB的完整路径,例如/usr/local/bin/gdb。
配置VSCode以使用GDB
安装GDB后,您需要更新VSCode的launch.json配置文件,以确保它指向正确的miDebuggerPath。根据GDB的安装路径更新您的配置,例如:
json
"osx": {
"MIMode": "gdb",
"miDebuggerPath": "/usr/local/bin/gdb",
"program": "${workspaceFolder}/bin/main"
},
注意
- macOS可能需要您为GDB签名。由于macOS的安全限制,未签名的调试器可能无法正常运行。您可以通过搜索“macOS GDB签名”来找到相关的指导步骤。
- 如果您不特别需要GDB,并且只是需要一个调试器,考虑使用macOS默认的LLDB。LLDB与GDB非常相似,且通常不需要额外配置即可在VSCode中使用。
按照这些步骤操作后,您应该能够在macOS上使用GDB进行调试。如果遇到任何问题,请检查VSCode的终端和调试控制台输出,以获取更多
task。json
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++ 生成活动文件",
"command": "/usr/bin/g++", // g++的路径
"args": [
"-fdiagnostics-color=always", // 颜色
"-g", // 调试信息
"-Wall", // 开启所有警告
"-std=c++14", // c++14标准
"${file}", // 文件本身,仅适用于C++基础知识教学,无法同时编译所有文件
// "${fileDirname}/*.cpp", // 文件所在的文件夹路径下所有cpp文件
"-o", // 输出
"${workspaceFolder}/release/${fileBasenameNoExtension}" // 文件所在的文件夹路径/release/当前文件的文件名,不带后缀
],
"options": {
"cwd": "${fileDirname}" // 文件所在的文件夹路径
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "编译器: /usr/bin/g++"
}
]
}
launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg", // C++调试
"request": "launch",
"program": "${workspaceFolder}/release/${fileBasenameNoExtension}", // 文件所在的文件夹路径/release/当前文件的文件名,不带后缀
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}", // 文件所在的文件夹路径
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"linux": {
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb",
// "program": "${workspaceFolder}/bin/main"
},
"osx": {
"MIMode": "lldb",
"miDebuggerPath": "lldb-mi",
"program": "${workspaceFolder}/bin/main"
},// "miDebuggerPath": "gdb",
// "MIMode": "lldb",
// "MIDebuggerPath": "lldb-mi",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++ 生成活动文件", // tasks.json的label
},
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}", // 当前文件
// "program": "demo.py", // 指定文件
"console": "integratedTerminal",
"justMyCode": true // false表示可以进入第三方库(如Pytorch)里进行调试
}
]
}
更多推荐
所有评论(0)