모든 패키지를 /etc/nixos/configuration.nix의 Environment.systemPackages에 설치합니다.
따라서 gcc 외에도 디버거를 사용하려면 다음이 필요합니다.
environment.systemPackages = with pkgs; [ ... vscode-fhs gdb ]
vscode-fhs를 사용하면 작업이 훨씬 쉬워지지만, fhs 없이 vscode 패키지를 설치하면 약간의 불편함이 있습니다. 자세한 내용은 여기를 참조하세요.
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 및 task.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를 누르세요.
디버깅하고 행복해지세요.
위 내용은 일 - VSCode에서 C 디버거를 사용하도록 NixOS 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!