您的位置:首页 > 博客中心 > 数据库 >

Eclispe+qemu+gdb调试linux Kernel

时间:2022-03-10 18:12

单步调试kernel说明

恩,这个文档的目标是单步调试内核,从每一个工具软件的版本号到每一个命令,都有一个说明

ubuntu1204,32位

用vmware虚拟机安装该系统。

用64位系统时,gdb有bug。报错信息为:xxx太长。所以建议用32位系统

编译kernel 3.5.4

下载内核的地址,北京交通大学的映像地址:

我下载的内核源码版本号3.5.4

为防止系统有些组件版本号较低,考虑如下两个命令更新系统:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential

编译步骤:进入kernel的根目录后,命令如下:

  1. make menuconfig
    //提示没有找到ncurses 安装一下:sudo apt-get install libncurses //贾迪提示:可以用libncurses* //Kernel Hacking –> 找到Compile the kernel with debug info” and “Compile the kernel with frame pointers” 这两个选项,必须是选中的。其他,不用改设置,按照默认就行,直接按两下esc,选择保存并退出

  2. make

qemu 1.4.0

安装

按照官网的说明,编译,安装:

编译qemu报错

  1. 缺glib,解决方法:sudo apt-get install libglib2.0-dev

  2. 缺autoconf,解决方法:sudo apt-get install autoconf automake libtool

用较老版本qemu时,或者直接用ubuntu source中的qemu时,单步调试失败。

使用:验证编译的内核已经可以通过qemu运行起来

qemu-system-i386 -kernel (kernel根目录)/arch/x86/boot/bzImage -initrd /boot/initrd.img-3.5.0-25-generic

注意:kernel后的参数为自己编译的内核,initrd参数为系统自带的文件,不同系统可能版本号不同 开始运行后,它会提示在vnc 102.0.0.1:5900 启动了。

然后在ubuntu桌面界面下,按下键盘中windows键(mac按command键),输入remote,找到“Remmina Remote Desktop Client”软件,打开后,新建一个远程连接,注意 协议用VNC,server填写127.0.0.1:5900

gxlsystem.com,布布扣


本文出自 “” 博客,请务必保留此出处

Eclispe+qemu+gdb调试linux Kernel,布布扣,bubuko.com

热门排行

今日推荐

热门手游