但是这里有几个问题要说一下,关于什么是make menuconfig,不知道的同学去google下,另外执行命令需要ncurses库的支持,不然你执行

make menuconfig会报错,这里大家可以去官网下:

http://ftp.gnu.org/pub/gnu/ncurses/

版本应该问题不大,我选择的是5.5的版本,因为我看到它的更新日期是2005年,而ubuntu 5.1也是在那个时间发布的,不会用什么兼容上的问题。

执行menuconfig的时候,我们唯一需要做的工作就是在Kernel hacking项目里面将Compile the kernel with debug info和Compile the kernel with frame pointers,两项勾选(在相应项上按空格键,里面都有详细的说明,不会的同学自己看)。这些项目可以让编译时添加调试信息,类似我们平时用的-g选项。

然后make -j4 bzImage,其中-j是让编译时使用多核心,你配置的cpu有几个核心就在后面加上几,比如我的配置的是四核心,那么就是-j4。

等一小会儿(机器快的话)之后,内核编译完成,激动吧。。。。

那么qemu如何使用呢?

直接终端输入:

dmee@localhost:~$qemu -s -S -kernle linux-2.6.11.12/arch/i386/boot/bzImage

参数说明:

-s: qemu在端口1234监听gdb的调试连接

-S: 让qemu启动后暂停,等待gdb的连接

-kernel: 指定bzImage的路径

由于我目前的关注重点是内核初始化的一些过程,所以更高级的qemu功能先暂时不去研究,后面用到再说。

之后我们另开启一个终端,在源码的顶层目录输入:

dmee@localhost:~/linux-2.6.11.12$ gdb vmlinux

然后,输入命令:

(gdb) target remote localhost:1234

Remote debugging using localhost:1234

[New Thread 1]

0x0000fff0 in ?? ()

warning: shared library handler failed to enable breakpoint

(gdb)

之后我们打个断点测试下:

(gdb) b start_kernel

Breakpoint 1 at 0xc030e537: file init/main.c, line 417.

(gdb) c

Continuing.

Breakpoint 1, start_kernel () at init/main.c:417

417     {

(gdb) n

425          page_address_init();

(gdb)

ok了!后面关于一些使用或者调试的心得,再来跟大家分享!

22/2<12

linux环境内核调试软件,Linux内核调试环境的搭建(使用qemu)相关推荐

  1. linux类似vc的软件,linux下能否使用VC之类的软件?

    smallwl 于 2006-10-22 09:23:11发表: Linux下的VC集成开发环境 一.概述 ----Linux下的VisualC是个软件集成开发环境,其中包括了用来创建.修改.编译.运 ...

  2. linux下cpu性能测试软件,Linux系统性能测试工具(四)——CPU性能测试工具之super_pi、sysbench...

    在Linux系统下运行微信Web开发者工具 微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确 ...

  3. linux最新系统下载软件,linux lite4.8稳定版下载

    linux lite4.8稳定版是最新推出的linux稳定版操作系统,支持64位安装系统,并且拥有丰富完整的系统套件,让你开发与办公更加方便,还搭载了各种各样的主题皮肤,以及强大的图像编辑器和查看器, ...

  4. linux下发送hex数据的串口调试软件,linux下模拟串口向计算机发送数据

    本人新手   从网上找了个串口通信程序改了改  本来是用单片机向串口发数据测试   但现在手头没有   请问有没有什么别的方法可以用? 非常感谢 | 一.使用工具 Windows XP 串口调试器 C ...

  5. linux centos版本安装软件,linux – 在CentOS上安装软件:二进制文件还是rpm?

    Which one should I (would you) choose? 使用RPM并坚持使用RPM. RPM使用源代码更简单,更容易更新和安装安全更新,并将节省您的长期时间.我可以在大约5分钟内 ...

  6. linux从usb安装软件,Linux下USB Camera的安装和使用

    1.查看摄像头ID: [root@151 dev]# lsusb Bus 002 Device 013: ID 0ac8:3313 Z-Star Microelectronics Corp. 0xc8 ...

  7. linux+显卡超频软件,Linux操作系统也玩显卡超频(转)

    Linux操作系统也玩显卡超频(转) 现在Linux下3D应用越来越多,显卡的性能就直接影响玩的感觉了.NVIDIA系列的显卡在Windows中超频的软件很多,但在Linux下如何能挖掘显卡的潜力呢? ...

  8. linux命令文件加密软件,Linux系统下如何加密文件,简单实用的文件管理器GnuPG

    我们知道,Linux 桌面版和服务器版具有卓越的安全性.然而这并不意味着你可以放松警惕.你应该一直认为你的数据总是很快就会被破坏.也就是说,你可能需要使用各种加密工具.比如 GnuPG,它可以让你加密 ...

  9. linux做前端的软件,Linux下使用的GCC编译器图形前端软件wxgcc

    对于Linux用户,不知您是否遇到过这种情况:在进行C/C++编程或是研究他人源代码的时候,发现对于某个C/C++语言特性不是很明确,于是就想自己创建一个小程序编译测试一下.一般需要进行如下操作(以C ...

最新文章

  1. 刻意练习:LeetCode实战 -- Task20. 对称二叉树
  2. 第三章 达瑞,一个很能挣钱的男孩
  3. Linux管道编程实例
  4. python 中使用 global 引发了莫名其妙的问题
  5. Mybatis的模糊查询
  6. 笔记本电脑VGA与DVI接口的区别(转)
  7. 一个悄然成为世界最流行的操作系统
  8. qmap按插入顺序排序_C++语言排序算法之插入排序
  9. 【Eclipse使用教程】Java导包快捷键
  10. hdu 5144 NPY and shot
  11. 合肥工业大学计算机与信息学院导师介绍,合肥工业大学计算机与信息学院导师介绍:方宝富...
  12. AI在线画图(文生图,通过文字绘制图片)
  13. 网络画板的文本编辑器也是markdown编辑器吗?
  14. 【C语言细节】计算自然对数的底 e遇坑
  15. 鸿蒙os能支持c语言吗,再次确认华为鸿蒙OS系统采用C预言开发,流畅度相当ios
  16. redis:redis与lua
  17. Android 性能优化 (一)APK高效瘦身
  18. JupyterLab中Kernel相关使用技巧和报错解决
  19. 人工智能的发展,主要经历哪几个阶段?
  20. js将base64图片处理成背景透明png

热门文章

  1. H264 Profile对比分析
  2. Web-Rtmp: 使用 WebSocket 在网页上播放 RTMP 直播流
  3. C++正则表达式的使用
  4. linux下开启程序崩溃生成core文件开关之ulimit详解
  5. Java调用C++webservice接口
  6. Flask-sqlalchemy外键关系映射
  7. 论文笔记:Image Caption(Show, attend and tell)
  8. 数字图像处理实验(12):PROJECT 05-03,Periodic Noise Reduction Using a Notch Filter
  9. cassandra可视化工具_程序员绘图工具——PlantUML
  10. axure谷歌浏览器插件_都说谷歌浏览器好用,网页翻译插件插件必不可少