我將所有軟體包安裝在 /etc/nixos/configuration.nix 中的environment.systemPackages 中。
因此,除了 gcc 之外,要使用調試器,您還需要:
environment.systemPackages = with pkgs; [ ... vscode-fhs gdb ]
使用 vscode-fhs 讓工作變得更輕鬆,安裝 vscode 套件(不帶 fhs)會帶來一些不便。更多資訊請點這裡。
在 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
輸入要偵錯的檔案並按F5:
調試並快樂。
以上是Day - 配置 NixOS 以在 VSCode 中使用 C 偵錯器的詳細內容。更多資訊請關注PHP中文網其他相關文章!