在VSCode中用CodeLLDB调试Swift:生成可执行文件及路径报错问题
在VSCode中用CodeLLDB调试Swift生成可执行文件的解决方案
问题根源
Windows环境下Swift编译默认生成.exe格式的可执行文件,你的问题核心是两点:一是未提前编译出可执行文件,二是launch配置里的路径格式不符合Windows规范。
解决步骤
1. 手动编译生成可执行文件
打开VSCode终端,切换到Swift文件所在目录,执行以下命令:
swiftc swifttest.swift -o swifttest.exe
执行后会在同一目录下生成swifttest.exe,这就是调试需要的可执行文件。
2. 修正launch.json配置
把配置里的路径改成Windows标准格式(不要用/C:/这种混合写法),直接指定生成的.exe文件路径:
{ "launch": { "configurations": [ { "name": "Launch", "type": "lldb", "request": "launch", "program": "C:/desir_7411ic3/Desktop/Programs/swift/swifttest.exe" } ] } }
3. 可选:配置自动编译(调试前自动生成可执行文件)
如果不想每次手动编译,可以配置tasks.json配合launch.json实现自动编译:
- 先在
.vscode文件夹下创建tasks.json,内容如下:
{ "version": "2.0.0", "tasks": [ { "label": "Compile Swift", "type": "shell", "command": "swiftc ${file} -o ${fileDirname}/${fileBasenameNoExtension}.exe", "group": { "kind": "build", "isDefault": true }, "problemMatcher": [] } ] }
- 然后在
launch.json的配置项里添加preLaunchTask字段,修改后如下:
{ "launch": { "configurations": [ { "name": "Launch", "type": "lldb", "request": "launch", "program": "C:/desir_7411ic3/Desktop/Programs/swift/swifttest.exe", "preLaunchTask": "Compile Swift" } ] } }
这样每次启动调试时,VSCode会自动先编译当前Swift文件,生成对应的.exe后再启动调试。
内容的提问来源于stack exchange,提问作者mrD
相关产品推荐
相关产品推荐

