Maison  >  Article  >  développement back-end  >  Day - Configuration de NixOS pour utiliser le débogueur C dans VSCode

Day - Configuration de NixOS pour utiliser le débogueur C dans VSCode

Patricia Arquette
Patricia Arquetteoriginal
2024-10-22 13:34:02631parcourir

J'installe tous mes packages dans Environment.systemPackages dans /etc/nixos/configuration.nix.

Donc, en plus de gcc, pour utiliser le débogueur, vous avez besoin de :

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

L'utilisation de vscode-fhs rend le travail beaucoup plus facile, l'installation du package vscode (sans fhs) provoque quelques désagréments. Plus d'informations ici.

Dans vscode, installez cette extension :

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

Pour plus de fiabilité, j'ai "forcé" la création de chemins avec :

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

N'oubliez pas de redémarrer votre ordinateur après le commutateur sudo nixos-rebuild

Dans le projet, créez un dossier .vscode et ajoutez un fichier launch.json et 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"
    }
  ]
}

Pour le champ de commande dans Tasks.json, utilisez la commande which gcc pour obtenir le chemin.
Faites de même pour le miDebuggerPath de launch.json avec la commande which gdb

Entrez le fichier que vous souhaitez déboguer et appuyez sur F5 :
Dia - Configurando o NixOS para utilizar o debbuger de C no VSCode

Débogez et soyez heureux.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn