首页  >  文章  >  后端开发  >  Day - 配置 NixOS 以在 VSCode 中使用 C 调试器

Day - 配置 NixOS 以在 VSCode 中使用 C 调试器

Patricia Arquette
Patricia Arquette原创
2024-10-22 13:34:02631浏览

我将所有软件包安装在 /etc/nixos/configuration.nix 中的environment.systemPackages 中。

因此,除了 gcc 之外,要使用调试器,您还需要:

environment.systemPackages = with pkgs; [
...
vscode-fhs
gdb
]

使用 vscode-fhs 使工作变得更加轻松,安装 vscode 包(不带 fhs)会带来一些不便。更多信息请点击这里。

在 vscode 中,安装此扩展:

Dia - Configurando o NixOS para utilizar o debbuger de C no VSCode

为了提高可靠性,我“强制”创建路径:

environment.variables.PATH = "${lib.makeBinPath [
pkgs.gdb
pkgs.gcc_multi // esse é o pacote que utilizo pro gcc
]}:$PATH";

在 sudo nixos-rebuild 开关后不要忘记重新启动计算机

在项目中,创建一个 .vscode 文件夹并添加 launch.json 和tasks.json 文件

tasks.json:

{
  "tasks": [
    {
      "type": "cppbuild",
      "label": "C/C++: gcc arquivo de build ativo",
      "command": "/nix/store/2ap4rlj55kw8q5ndycl0r8w312ggpf1c-gcc-wrapper-13.2.0/bin/gcc",
      "args": [
        "-fdiagnostics-color=always",
        "-g",
        "${file}",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}"
      ],
      "options": {
        "cwd": "${fileDirname}"
      },
      "problemMatcher": [
        "$gcc"
      ],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "detail": "Tarefa gerada pelo Depurador."
    }
  ],
  "version": "2.0.0"
}

launch.json:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Debug arquivo ativo",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}",
      "args": [],
      "cwd": "${fileDirname}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "miDebuggerPath": "/nix/store/2ap4rlj55kw8q5nd2460r8w312ggpf1c-gdb-14.2/bin/gdb",  
      "preLaunchTask": "C/C++: gcc arquivo de build ativo",
      "internalConsoleOptions": "openOnSessionStart"
    }
  ]
}

对于tasks.json中的命令字段,使用which gcc命令获取路径。
使用命令 which gdb

对 launch.json 的 miDebuggerPath 执行相同的操作

输入要调试的文件并按F5:
Dia - Configurando o NixOS para utilizar o debbuger de C no VSCode

调试并快乐。

以上是Day - 配置 NixOS 以在 VSCode 中使用 C 调试器的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn