采用大杀招QEMU调试Linux内核代码

采用大杀招QEMU调试Linux内核代码

大家好,又见面了,我是全栈君。

Linux调试内核代码是非常麻烦。它们一般加printk, 或者使用JTAG调试。

这里的方法是使用QEMU为了调试Linux核心。

由于QEMU自己实现gdb server, 它可以容易地使用gdb要调整内核。

也很有帮助。

为了尽量不多花时间在QEMU设置上,这里直接使用下面的内核image:

http://free-electrons.com/community/demos/qemu-arm-directfb/

1. QEMU的安装

 这个能够自己去QEMU的官网下载编译,假设自己手头上的发行版有相应QEMU的包的话那也能够直接安装。

 CentOS的话參考前面的 CentOS rpm 额外包的源

2. 下载相应的内核映像

 从下面网址下载:http://free-electrons.com/pub/qemu/demos/arm/directfb/1.0/ 这里面有一个vmlinuz-qemu-arm-2.6.20

3. 启动QEMU

  使用例如以下命令启动:

 $ qemu-system-arm -M versatilepb -m 16 -kernel vmlinuz-qemu-arm-2.6.20 -append “clocksource=pit quiet rw” -S -s

采用大杀招QEMU调试Linux内核代码

4. 调试内核

 这里须要有一个包括调试信息的vmlinux文件。能够直接编译http://free-electrons.com/pub/qemu/demos/arm/directfb/1.0/src/linux-2.6.20.tar.7z

 假设自己不想编译的话能够使用一个已编译好的vmlinux文件:http://pan.baidu.com/s/1sjuJYc1

 然后运行例如以下命令:

 $ arm-none-linux-gnueabi-gdb vmlinux

 在gdb在控制台输入:

  (gdb) target remote :1234

  (gdb) b start_kernel

 (gdb) c

 这一次,程序运行它会落在你设置断点start_kernel办公室。OK。所以,你可以调试内核任意代码!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116661.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Idea激活码最新教程2023.2.3版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2023.2.3版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2023 2 3 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2023 2 3 成功激活

    2025年5月27日
    3
  • 单模光纤的传输距离比多模光纤的传输距离_单模多模单模光纤传感器

    单模光纤的传输距离比多模光纤的传输距离_单模多模单模光纤传感器1.1000Base-SX及1000Base-LX是什么意思?短波长光传输1000Base-SX、长波长光传输1000Base-LX多模光纤可以分为长波激光(称为1000BaseLX)和短波激光(称为1000BaseSX)。2.千兆位以太网标准问题:请问多模和单模光纤的极限传输距离是多少?标准光纤类型光纤直径(μm)最大传输距离1000base-sx多模62.5260m1000base-sx…

    2022年8月30日
    3
  • Qt开发笔记之QCustomPlot:QCustomPlot介绍、编译与使用

    Qt开发笔记之QCustomPlot:QCustomPlot介绍、编译与使用欢迎技术交流和帮助,提供所有IT相关的服务,有需要请联系博主QQ:21497936,若该文为原创文章,未经允许不得转载原博主博客地址:http://blog.csdn.net/qq21497936本文章博客地址:http://blog.csdn.net/qq21497936/article/details/77847820目录效果​Demo下载地址QCustom…

    2022年10月17日
    2
  • pycharm基础设置_pycharm环境变量配置

    pycharm基础设置_pycharm环境变量配置一、更改字体大小Ctrl+Alt+S打开设置界面二、设置背景颜色Ctrl+Alt+S打开设置界面

    2022年8月27日
    25
  • webservice 实例 创建与 调用「建议收藏」

    webservice 实例 创建与 调用「建议收藏」webservice实例创建与调用序webservice选型配置代码webservice接口层接口实现实体webservice挂靠配置启动服务测试服务测试:测试地址客户端生成环境配置代码生成序对接SAP系统,指定要用webservice做对接。不然打死也不用webservice,感觉webService也实现不怎么流行了,过程中遇到了不少问题。就javawebservice而言,框架就有不下十种。网上的教程更是五花八门,零零碎碎,并且很多误导。本博将记录下项目里用的webservi

    2022年7月21日
    25
  • 程序已在运行,只能运行一个实例_最常用解决冲突的办法

    程序已在运行,只能运行一个实例_最常用解决冲突的办法//开发中常用的只允许一个程序运行的办法//程序以单例模式运行常用办法,创建一个互斥量//由于互斥量只允许一个进程或者线程占用会创建失败,利用这个特性可以做到单例运行改程序#include"stdafx.h"#include<windows.h>#include<stdio.h>int_tmain(intargc,_TCHAR*argv[]…

    2022年10月5日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号