使用 VSCode 调试 Zig

首要条件是你本地需要安装MinGW-w64.

可以参考MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本 - jack_Meng - 博客园 (cnblogs.com)

这里有几点需要注意,在2024年9月时,我没有找exe的安装,你需要在github下载 Releases · niXman/mingw-builds-binaries (github.com)

具体下载的内容,可以参考上面博客中的选择x86_64_win32_seh_什么的,我就直接是下载的

 

 

其次条件是将zig 开发环境的包中的exe添加到path中,这一步我觉得应该是不会有什么太大问题。

 

 

最后条件是配置launch.json和tasks.json, 学习的话,我推荐第二种

第一种 使用通过zig init创建的形式

launch.json如下

{
    // 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": [
        {
            "name": "(Windows) 启动",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${workspaceFolder}\\zig-out\\bin\\你的程序的名字.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}\\zig-out\\bin",
            "symbolSearchPath": "${workspaceFolder}\\zig-out\\bin",
            "environment": [],
            "externalConsole": false,
            "logging": {
                "moduleLoad": false
            },
            "preLaunchTask": "build"
        }
    ]
}

tasks.json如下

{
    "version": "2.0.0",
    "tasks":[
        { 
             "label": "build",
             "type": "shell",
              "command": "zig build"
        }
    ]
}

 

第二种单文件创建的形式


也就是你直接创建一个*.zig 文件 比如hello.zig
那么你的launch.json

{
    // 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": [
        {
            "name": "singleDebug",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${workspaceFolder}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}\\",
            "symbolSearchPath": "${workspaceFolder}\\",
            "environment": [],
            "externalConsole": false,
            "logging": {
                "moduleLoad": false
            },
            "preLaunchTask": "singleItemBuild"
        }
    ]
}

 

tasks.json是

{
    "version": "2.0.0",
    "tasks":[
        { 
            "label": "singleItemBuild",
            "type": "shell",
             "command": "zig build-exe ${fileBasenameNoExtension}.zig"
       }
    ]
}

 




最终就可以调试了

 最后说的 目前还在学习中,有更好的办法会持续更新。

posted @ 2024-09-19 18:32  ARM830  阅读(76)  评论(0编辑  收藏  举报