Maison >développement back-end >C++ >Day - Configuration de NixOS pour utiliser le débogueur C dans VSCode
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 :
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 :
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!