手把手教你使用eclipse+qemu+gdb来单步调试ARM内核【学习笔记】
平台信息: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内核【学习笔记】的更多相关文章
- ubuntu: qemu+gdb 调试linux kernel 学习笔记
声明: 本笔记内容并非本人原创,90%来自网络资料的整合.同时,由于自己是刚刚接触qemu & gdbserver remote debug,本文也就算不得教程,仅供有缘人参考而已. ---- ...
- 手把手教你用Eclipse+TestNG搭建接口自动化测试框架
转载于:http://qa.blog.163.com/blog/static/190147002201510275306185/ 把群博里关于接口自动化的文章都看了一遍,都是关于测试过程中遇到的问题及 ...
- Eclipse——手把手教新手安装Eclipse
一.准备工作:安装JRE和JDK. 全名分别为:Java Runtime Environmen和Java SE Development Kit,推荐直接在某度软件中心下载即可,注意区分64位和32位. ...
- 手把手教你在Eclipse中使用CVS Branch功能
Brach 的作用: 开发新版本的人员就基于 main trunk 工作,而 fix bug 的人员就基于 branch 工作. 一旦在 branch上将 Release_1_0的 bug修复了,我们 ...
- 手把手教你通过Eclipse工程配置调用JNI完全攻略
本文地址:http://www.cnblogs.com/wavky/p/JNI.html 当你找到并鬼使神差地打开这个博文的时候,我敢肯定你已经知道什么是JNI,基本概念就不粘贴了. 百度出来的JNI ...
- 手把手教你安装Eclipse最新版本的详细教程 - 大佬的鸡肋,菜鸟的盛宴(非常详细,非常实用)
简介 首先声明此篇文章主要是针对测试菜鸟或者刚刚入门的小伙们或者童鞋们,大佬就没有必要往下看了. 写这篇文章的由来是因为后边要用这个工具,但是由于某些原因有部分小伙伴和童鞋们可能不会安装此工具,为了方 ...
- ucore lab1练习2 qemu+gdb 不能协作调试的问题make lab1-mon
本练习是qemu结合gdb调试,但是我做实验的时候并不能像视频输入make lab1-mon那样顺利调试,期间有各种error,后来我找到原因,请看解决方法. 请先把ucore_lab文件删除,以下全 ...
- gdb无法单步调试
使用gdb调试单步程序时如果打印提示“single stepping until exit from function xxx,which has no line number information ...
- 手把手教你搭建SSH框架(Eclipse版)
原文来自公众号[C you again],若需下载完整源码,请在公众号后台回复"ssh". 本期文章详细讲解了SSH(Spring+SpringMVC+Hibernate)框架的搭 ...
随机推荐
- virtualbox 虚拟机硬盘扩容
转自: http://jingyan.baidu.com/article/425e69e6aeede8be14fc1675.html
- 在iframe的父级作用域操作,ifame中的元素。。
frames["iframe的name"].SchDatas SchDatas为方法名js中 frames["iframe的name"].document.ge ...
- web安全漏洞防护
Password type input with autocomplete enabled The autocomplete attribute works with the following &l ...
- 谈抽象1——无脑copy等于自杀
近期被外派帮助国内某公司做政府某部门OA系统.听说他们那有个成熟的java框架,使用了非常长时间,抱着学习的态度,我进入这个公司.当我熟悉了一周后,留下了非常多疑问,而这些疑问,也诱发了这次关于&qu ...
- python redis操作
import redis r = redis.Redis( host='1xx.x24.3xx.x0', #ip, password='xnxnxn&*',#密码 port=6379, #端口 ...
- poj2420(模拟退火大法好)
// // main.cpp // poj2420 // // Created by 陈加寿 on 16/2/13. // Copyright © 2016年 chenhuan001. All rig ...
- 爬虫实战【4】Python获取猫眼电影最受期待榜的50部电影
前面几天介绍的都是博客园的内容,今天我们切换一下,了解一下大家都感兴趣的信息,比如最近有啥电影是万众期待的? 猫眼电影是了解这些信息的好地方,在猫眼电影中有5个榜单,其中最受期待榜就是我们今天要爬取的 ...
- es 中 for in for of
arr=[11,22,33,44,55,66,77,88]for (const i in arr){ console.log(i) if (i===4){ console.log(arr[i]) }} ...
- 练习: 省市联动(Ajax)
// 示例一: china.xml (位于 src 目录下) <?xml version="1.0" encoding="utf-8"?> < ...
- 六百字读懂 Git(转)
add by zhj:还是原文 六百字读懂 Git 看着更舒服一些,显示更好 原文:六百字读懂 Git 英文原文:Git in 600 words 译注:来自 Hacker School 的 Mary ...