【1000个GDB技巧-011】-vscode调试模式添加配置不显示cppdbg如何处理

文章讲述了在VisualStudioCode中使用gdb调试Linux内核时,遇到的问题,即使用Beyond的GDBDebug、KGDB、NativeDebug等插件无效。解决方法包括在launch.json中添加特定配置,激活cppdbg功能,并解释了VSCode代码片段自动补全原理。
摘要由CSDN通过智能技术生成

Linux kernel通过gdb 在vsc debug vmlinux,使用这三个插件似乎都不行:

Beyond的GDB Debug、KGDB、Native Debug

只有微软自己开发的C/C++插件提供的才可以

C/C++ debug在调试窗口调试kernel 需要依赖cppdbg的type,但是初次使用通过图中添加配置看不到标注2的这几个选项。之后后面的GDB:Attach to PID(这个是GDB Debug的,type是gdb)

问题现象:

如何解决?

需要三步才能能自动解决这个问题,估计是vsc默认没有激活该功能。

第一步:拷贝下面这段到launch.json中

{
  "name": "C++ Launch",
  "type": "cppdbg",
  "request": "launch",
  "program": "${workspaceFolder}/a.out",
  "args": ["arg1", "arg2"],
  "environment": [{ "name": "config", "value": "Debug" }],
  "cwd": "${workspaceFolder}"
}

参考:https://code.visualstudio.com/docs/cpp/launch-json-reference

第二步:点击运行调试中的选择刚刚添加的这个配置 然后点击绿色三角形 运行

第三步:点击运行后报错直接忽略,然后点击添加配置就能看到cppdbg类型的自动添加配置了

 分析原理:

这里点击添加配置,实际上是vscode的 快捷键的 代码片段 自动补全的功能,然后其他插件注册到这个快捷输入后,点击添加配置就会自动根据输入补全需要的这些。本质就是一个 代码片段功能 替换只是字符串比较长。

分析原理的来源:红色部分是我加的自定义代码片段,点击添加配置后也出现在了这里

也就是说cppdbg是vsc自带的或者说c/c++插件的。然后需要激活。

根据官网介绍应该是自带的:https://code.visualstudio.com/docs/cpp/launch-json-reference

PS:

实验了一个新环境没有安装c/c++插件,报错没有cppdbg类型,安装了c/c++插件就可以了。说明cppdbg就是c/c++插件的。

报错:

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在VSCode配置gdb调试,您需要进行以下步骤: 1. 首先,在VSCode的扩展商店中搜索并安装"C/C++"扩展。这个扩展提供了对C和C++的语法高亮、代码补全和调试支持。 2. 接下来,打开您的项目文件夹,并在项目根目录下创建一个名为".vscode"的文件夹(如果还没有的话)。 3. 在".vscode"文件夹中创建一个名为"launch.json"的文件。这个文件用于配置调试器的参数。 4. 在"launch.json"文件中,将以下代码粘贴进去: ``` { "version": "0.2.0", "configurations": [ { "name": "gdb", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/your_program", // 替换成你的可执行程序路径 "args": [], // 如果需要传递命令行参数,可以在这里添加 "cwd": "${workspaceFolder}", "MIMode": "gdb", "miDebuggerPath": "gdb", // 如果gdb不在系统的PATH中,需要指定gdb的路径 "preLaunchTask": "build" // 如果需要在调试前进行编译,可以指定一个构建任务 } ] } ``` 5. 然后,在您的项目中执行Makefile,将源代码编译成可执行文件。确保在编译时加入了"-g"选项,以便在调试时能够获取到符号表信息。 6. 最后,在VSCode中按下F5键,即可开始调试您的程序。您可以通过设置断点、单步执行、查看变量等功能来进行调试。 请注意,上述代码中的"your_program"需要替换为您实际的可执行文件路径,"miDebuggerPath"如果您的系统中的gdb不在系统的PATH中,则需要指定gdb的路径。 通过以上步骤,您就可以在VSCode中成功配置gdb调试了。希望对您有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值