我将所有软件包安装在 /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 调试器的详细内容,更多请关注知识资源分享宝库其它相关文章!
版权声明
本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com
发表评论