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}"
}
参考:

文章讲述了在VisualStudioCode中使用gdb调试Linux内核时,遇到的问题,即使用Beyond的GDBDebug、KGDB、NativeDebug等插件无效。解决方法包括在launch.json中添加特定配置,激活cppdbg功能,并解释了VSCode代码片段自动补全原理。
最低0.47元/天 解锁文章
2251

被折叠的 条评论
为什么被折叠?



