平台信息:linux4.0

平台:qemu

作者:庄泽彬

说明:笨叔叔的Linux视频的笔记

一、编译linux源码

 export CROSS_COMPILE=arm-linux-gnueabi-
export ARCH=arm
make vexpress_defconfig
make bzImage -j4、
5 make dtbs

二、建立eclipse工程

  ubuntu没有安装eclipse的小伙伴赶紧执行如下的明来安装一下:

  sudo apt-get install eclipse-cdt

  2.1 新建一个eclipse调试的内核工程

  FILE--->NEW ---> Makefile Project with Existing Code  

为工程选择一个合适的名字,以及内核代码路径,之后点击finish

之后在工程界面选择run--->Debug Configurations

点击c/c++ attach to application 新建一个选项,设置选项的名字,选择工程kernel4.0,定位我们编译源码的vmlinux路径.

切换到debug选项,设置如下,选择gdbserver,gdb debug设置为arm-none-eabi-gdb:

 

切换到connection选项,端口号改为1234,设置到这里也就差不多来阿,点击apply,最后点击debug,之后工程回搜索这个木兰,我们要暂停下来。

  在进入单步调试的时候先运行qemu

  

 qemu-system-arm -M vexpress-a9 -smp  -m 1024M -kernel arch/arm/boot/zImage -append "rdinit=/linuxrc console=ttyAMA0 loglevel=8" -dtb arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic  -S -s

点击debug运行我们的工程,在控制台 输入file vmlinux,b do_fork来设置我们的断点,输入C运行我们的工程,之后eclipse就会跳转到do_fork函数,之后的单步调试以及查看相关的变量,我相信大家应该是知道咋设置的。

吐槽一下在ubuntu下截图软件我用的是shutter,感觉还是没有window的方便,大家有好的推荐吗?

手把手教你使用eclipse+qemu+gdb来单步调试ARM内核【学习笔记】的更多相关文章

  1. ubuntu: qemu+gdb 调试linux kernel 学习笔记

    声明: 本笔记内容并非本人原创,90%来自网络资料的整合.同时,由于自己是刚刚接触qemu & gdbserver remote debug,本文也就算不得教程,仅供有缘人参考而已. ---- ...

  2. 手把手教你用Eclipse+TestNG搭建接口自动化测试框架

    转载于:http://qa.blog.163.com/blog/static/190147002201510275306185/ 把群博里关于接口自动化的文章都看了一遍,都是关于测试过程中遇到的问题及 ...

  3. Eclipse——手把手教新手安装Eclipse

    一.准备工作:安装JRE和JDK. 全名分别为:Java Runtime Environmen和Java SE Development Kit,推荐直接在某度软件中心下载即可,注意区分64位和32位. ...

  4. 手把手教你在Eclipse中使用CVS Branch功能

    Brach 的作用: 开发新版本的人员就基于 main trunk 工作,而 fix bug 的人员就基于 branch 工作. 一旦在 branch上将 Release_1_0的 bug修复了,我们 ...

  5. 手把手教你通过Eclipse工程配置调用JNI完全攻略

    本文地址:http://www.cnblogs.com/wavky/p/JNI.html 当你找到并鬼使神差地打开这个博文的时候,我敢肯定你已经知道什么是JNI,基本概念就不粘贴了. 百度出来的JNI ...

  6. 手把手教你安装Eclipse最新版本的详细教程 - 大佬的鸡肋,菜鸟的盛宴(非常详细,非常实用)

    简介 首先声明此篇文章主要是针对测试菜鸟或者刚刚入门的小伙们或者童鞋们,大佬就没有必要往下看了. 写这篇文章的由来是因为后边要用这个工具,但是由于某些原因有部分小伙伴和童鞋们可能不会安装此工具,为了方 ...

  7. ucore lab1练习2 qemu+gdb 不能协作调试的问题make lab1-mon

    本练习是qemu结合gdb调试,但是我做实验的时候并不能像视频输入make lab1-mon那样顺利调试,期间有各种error,后来我找到原因,请看解决方法. 请先把ucore_lab文件删除,以下全 ...

  8. gdb无法单步调试

    使用gdb调试单步程序时如果打印提示“single stepping until exit from function xxx,which has no line number information ...

  9. 手把手教你搭建SSH框架(Eclipse版)

    原文来自公众号[C you again],若需下载完整源码,请在公众号后台回复"ssh". 本期文章详细讲解了SSH(Spring+SpringMVC+Hibernate)框架的搭 ...

随机推荐

  1. MySQL设计之三范式

    网上查找了一些资料,记录如下并加入自己的理解. 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小.但是有 ...

  2. redis的下载

    网址一:https://github.com/dmajkic/redis/downloads 网址二:http://windows.php.net/downloads/pecl/releases/re ...

  3. ubuntu在vmware下使用问题

    问题1: 在vmware虚拟机下安装的ubuntu系统,为了在windows和ubuntu之间拷贝数据方便,所以在vmware上安装了vmware tools.在安装了vmware tool之后会在u ...

  4. 《TP5.0学习笔记---配置篇》

    参考博客:http://blog.csdn.net/self_realian/article/details/75045541

  5. SAP系统自带的function module

    SAP有很多系统自带的FM,直接在Pattern中就可以调出.---test 1.     KD_GET_FILENAME_ON_F4 ---------------------用以在windows ...

  6. 性能百万/s:腾讯轻量级全局流控方案详解【转自Wetest】

    阿里用的方案是在nginx中配置限流(限流功能模块是自己开发的),流量统计线上是有监控打通的,具体的限流值是通过线上流量表现+线下性能测试(模拟线上场景)测试得出的. 全新的全局流控实现方案,既解决了 ...

  7. 不在要DLL中使用C++全局对象

    如题,原因很简单,DLL不会调用该对象的析构函数. 果断被微软坑了.

  8. 【BZOJ2506】calc 分段+vector+莫队

    [BZOJ2506]calc Description          给一个长度为n的非负整数序列A1,A2,…,An.现有m个询问,每次询问给出l,r,p,k,问满足l<=i<=r且A ...

  9. 关于js的当前日期的格式化,和两个日期之间的相减的天数

    function getFormatYMD(timesamp){ var date = new Date(timesamp); Y = date.getFullYear() + '-'; M = (d ...

  10. Ramsey's_theorem Friendship Theorem 友谊定理

    w https://en.wikipedia.org/wiki/Ramsey's_theorem https://zh.wikipedia.org/wiki/拉姆齐定理 在组合数学上,拉姆齐(Rams ...