首页 > 系统相关 >vscode+gdb调试linux

vscode+gdb调试linux

时间:2024-05-30 09:46:05浏览次数:23  
标签:1234 kernel vscode gdb linux QEMU

编译内核

 make meauconfig 后:

Kernel hacking  --->
    Compile-time checks and compiler options  --->
        [*] Compile the kernel with debug info
        [*]   Provide GDB scripts for kernel debugging
 [*] Kernel debugging

Processor type and features ---->
    [] Randomize the address of the kernel image (KASLR)

配置vscode

配置vscode的launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "qemu_bare",
            "type": "cppdbg",
            "request": "launch",
            "program": "/home/user/work_linux/linux-5.15.104/vmlinux",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "miDebuggerServerAddress": "localhost:1234",
        }
    ]
}

运行Qemu

编译x86_64平台的linux可使用如下脚本:

qemu-system-x86_64 \
    -m 1024M \
    -kernel ./linux-5.15.104/arch/x86_64/boot/bzImage \
    -initrd ./buildroot/output/images/rootfs.cpio \
    -nographic \
    -append "nokaslr console=ttyS0" \
    -S -s

-s 是 QEMU 的一个简短命令行选项,它等价于 -gdb tcp::1234,即设置 QEMU 在本地的 1234 端口上等待 gdb 的连接。

-S 是 QEMU 在启动虚拟机后立即暂停执行 CPU。

标签:1234,kernel,vscode,gdb,linux,QEMU
From: https://www.cnblogs.com/ouyang_wsgwz/p/18221712

相关文章

  • 在Linux中,如何进行性能审计?
    在Linux中进行性能审计主要涉及监控和分析系统的各项性能指标,以确保系统运行效率、识别瓶颈并进行必要的优化。这包括但不限于CPU使用率、内存使用情况、磁盘I/O、网络流量等关键性能指标。以下是一些基本步骤和工具,用于进行Linux系统的性能审计:1.使用内置命令进行快速检查top......
  • vscode快捷键大全
    查找:Ctrl+F替换:Ctrl+H选定多个相同的单词:Ctrl+D 取消选择:Ctrl+U多行光标-Ctrl+Alt+方向键(上下左右)删除当前行-Ctrl+Shift+K快速复杂一行:shift+alt+下箭头(上箭头)上下移动代码行:Alt+Up,Alt+Down单行注释:Ctrl+/块注释:Alt+Shift+A打开关闭侧边......
  • Linux顶层 Makefile 详解
    makefile分析:分析linuxmakefile文件时候我们需要在vscode下设置屏蔽下不用的文件夹。具体来说可以先建立一个.vscode文件夹和setting.json。具体内容为:{"search.exclude":{"**/node_modules":true,"**/bower_components":true,"**/*.o":true,"**/*......
  • 在Linux中,如何进行SSH服务配置?
    在Linux中配置SSH(SecureShell)服务,通常涉及安装SSH服务器软件(OpenSSH是最常见的选择)、修改配置文件以符合特定需求、管理密钥对以及确保服务的安全性。下面是详细的步骤指南:1.安装OpenSSH服务器大多数Linux发行版已经预装了OpenSSH服务器(sshd),但如果没有,可以通过包管理器安装。......
  • QShop商城-快速开始-Linux使用宝塔面板发布.Net6/7
    QShop商城-快速开始-Linux使用宝塔面板发布.Net6/7安装宝塔面板宝塔官方安装教程宝塔面板yuminstall-ywget&&wget-Oinstall.shhttp://download.bt.cn/install/install_6.0.sh&&shinstall.sh安装后将显示访问地址及账号密码,请妥善保存浏览器进入后将弹出如下......
  • 一本关于深入理解linux内核的书
    以下目录中所述关于深入理解linux内核:http://iteralink.top/resource/detail/7180573456050688000第一章走进Linux11.1GNU与Linux的成长 11.2Linux的开发模式和运作机制 21.3走进Linux内核 41.3.1Linux内核的特征 41.3.2Linux内核版本的变化 51.4......
  • Linux常考知识点——(二)
    #Linux第二章1.   Linux 惟独被授权的用户才可以使用系统命令。2.    Linux系统提供的命令需要在shell环境下运行。3.    使用bash命令时,应注意以下7点:(1)    命令名必须是小写英文字母。(2)    方括号里面的部份是可选的。(3)    选......
  • 【Linux进程篇】Linux进程管理——进程创建与终止
    W...Y的主页......
  • vscode技巧笔记3-调试编译
    1.概述vscode作为一个编辑器,同样也是开发工具,本文介绍运行调试环境2.通用配置vscode支持多种语言,这里介绍下通用配置,c和python(我自己用的)作为章节介绍2.1.运行相关界面2.1.1.语言解释器(languagemode)和解释器vscode会自动识别文件的后缀名然后进入对应的语言模式,如果是......
  • Linux之命令一
    [21:07:22root@Rocky85~]#uname-r查看内核版本[21:08:16root@Rocky85~]#yum-yinstallredhat-lsb-core[21:08:51root@Rocky85~]#lsb_release-a查看发行版本[21:08:58root@Rocky85~]#ls-lh-all/root列出/root目录下的所有文件,并按详细的格式显示......