linux环境内核调试软件,Linux内核调试环境的搭建(使用qemu)
但是这里有几个问题要说一下,关于什么是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)相关推荐
- linux类似vc的软件,linux下能否使用VC之类的软件?
smallwl 于 2006-10-22 09:23:11发表: Linux下的VC集成开发环境 一.概述 ----Linux下的VisualC是个软件集成开发环境,其中包括了用来创建.修改.编译.运 ...
- linux下cpu性能测试软件,Linux系统性能测试工具(四)——CPU性能测试工具之super_pi、sysbench...
在Linux系统下运行微信Web开发者工具 微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确 ...
- linux最新系统下载软件,linux lite4.8稳定版下载
linux lite4.8稳定版是最新推出的linux稳定版操作系统,支持64位安装系统,并且拥有丰富完整的系统套件,让你开发与办公更加方便,还搭载了各种各样的主题皮肤,以及强大的图像编辑器和查看器, ...
- linux下发送hex数据的串口调试软件,linux下模拟串口向计算机发送数据
本人新手 从网上找了个串口通信程序改了改 本来是用单片机向串口发数据测试 但现在手头没有 请问有没有什么别的方法可以用? 非常感谢 | 一.使用工具 Windows XP 串口调试器 C ...
- linux centos版本安装软件,linux – 在CentOS上安装软件:二进制文件还是rpm?
Which one should I (would you) choose? 使用RPM并坚持使用RPM. RPM使用源代码更简单,更容易更新和安装安全更新,并将节省您的长期时间.我可以在大约5分钟内 ...
- linux从usb安装软件,Linux下USB Camera的安装和使用
1.查看摄像头ID: [root@151 dev]# lsusb Bus 002 Device 013: ID 0ac8:3313 Z-Star Microelectronics Corp. 0xc8 ...
- linux+显卡超频软件,Linux操作系统也玩显卡超频(转)
Linux操作系统也玩显卡超频(转) 现在Linux下3D应用越来越多,显卡的性能就直接影响玩的感觉了.NVIDIA系列的显卡在Windows中超频的软件很多,但在Linux下如何能挖掘显卡的潜力呢? ...
- linux命令文件加密软件,Linux系统下如何加密文件,简单实用的文件管理器GnuPG
我们知道,Linux 桌面版和服务器版具有卓越的安全性.然而这并不意味着你可以放松警惕.你应该一直认为你的数据总是很快就会被破坏.也就是说,你可能需要使用各种加密工具.比如 GnuPG,它可以让你加密 ...
- linux做前端的软件,Linux下使用的GCC编译器图形前端软件wxgcc
对于Linux用户,不知您是否遇到过这种情况:在进行C/C++编程或是研究他人源代码的时候,发现对于某个C/C++语言特性不是很明确,于是就想自己创建一个小程序编译测试一下.一般需要进行如下操作(以C ...
最新文章
- 刻意练习:LeetCode实战 -- Task20. 对称二叉树
- 第三章 达瑞,一个很能挣钱的男孩
- Linux管道编程实例
- python 中使用 global 引发了莫名其妙的问题
- Mybatis的模糊查询
- 笔记本电脑VGA与DVI接口的区别(转)
- 一个悄然成为世界最流行的操作系统
- qmap按插入顺序排序_C++语言排序算法之插入排序
- 【Eclipse使用教程】Java导包快捷键
- hdu 5144 NPY and shot
- 合肥工业大学计算机与信息学院导师介绍,合肥工业大学计算机与信息学院导师介绍:方宝富...
- AI在线画图(文生图,通过文字绘制图片)
- 网络画板的文本编辑器也是markdown编辑器吗?
- 【C语言细节】计算自然对数的底 e遇坑
- 鸿蒙os能支持c语言吗,再次确认华为鸿蒙OS系统采用C预言开发,流畅度相当ios
- redis:redis与lua
- Android 性能优化 (一)APK高效瘦身
- JupyterLab中Kernel相关使用技巧和报错解决
- 人工智能的发展,主要经历哪几个阶段?
- js将base64图片处理成背景透明png
热门文章
- H264 Profile对比分析
- Web-Rtmp: 使用 WebSocket 在网页上播放 RTMP 直播流
- C++正则表达式的使用
- linux下开启程序崩溃生成core文件开关之ulimit详解
- Java调用C++webservice接口
- Flask-sqlalchemy外键关系映射
- 论文笔记:Image Caption(Show, attend and tell)
- 数字图像处理实验(12):PROJECT 05-03,Periodic Noise Reduction Using a Notch Filter
- cassandra可视化工具_程序员绘图工具——PlantUML
- axure谷歌浏览器插件_都说谷歌浏览器好用,网页翻译插件插件必不可少