![wsl2 上的 vscode:运行和调试错误:起始目录不存在](https://linux22.com/image/221738/wsl2%20%E4%B8%8A%E7%9A%84%20vscode%EF%BC%9A%E8%BF%90%E8%A1%8C%E5%92%8C%E8%B0%83%E8%AF%95%E9%94%99%E8%AF%AF%EF%BC%9A%E8%B5%B7%E5%A7%8B%E7%9B%AE%E5%BD%95%E4%B8%8D%E5%AD%98%E5%9C%A8.png)
我想对STM32板进行编程。我编译的 C++ 代码称为firmwar.elf
.
开发板内置了stlink。所以这是我最喜欢的调试器。
我正在使用 WSL2 系统来运行 Ubuntu。我可以使用 vscode 成功启动该子系统。我跟着微软的本指南。我还安装了自定义 Linux 内核以将 USB 设备连接到 WSL2。所有这些都有效。
但是,我无法启动调试器。
在 vscode 中,我单击Run and Debug
菜单。然后我选择我的个人资料并按播放。这将返回以下内容:
* Executing task: make bin
* The terminal process failed to launch: Starting directory (cwd) "/app" does not exist.
我的launch.json
文件包含这部分:
[...]
{
"name": "ST-Link: Debug Application",
"cwd": "${workspaceFolder}/app",
"executable": "./firmware.elf",
"servertype": "stutil",
"request": "launch",
"type": "cortex-debug",
"device": "STM32L432KC",
"runToEntryPoint": "main",
"interface": "swd",
"preLaunchTask": "build_debug"
},
[...]
是的,该目录存在,这就是保存的/app
地方。firmware.elf
这是我的文件结构:
v workspaceFolder
> .vscode
v app
> inc
> src
firmware.bin
firmware.elf
firmware.map
Makefile
> library
.gitignore
.gitmodules
${workspaceFolder}/app
vscode 可能正在其他地方搜索解释错误的路径。
我可以做什么来解决这个问题?