关闭

使用VirtualBox和KGDB调试内核

293人阅读 评论(0) 收藏 举报
分类:


http://blog.csdn.net/cjxsimon/article/details/44173071


网上有许多教程讲解关于使用KGDB和VirtualBox进行内核调试的,但是几乎都是使用两个虚拟机进行调试,本文主要是讲解如何使用host(自己的电脑)和一个虚拟机(guest)进行调试。本文主要是参考http://www.opensourceforu.com/2011/03/kgdb-with-virtualbox-debug-live-kernel/ 这个网页来讲的,但是有几点值得注意的地方:

1.在配置串口时可能会遇到很多报错,与kvm冲突,缺少kernel source等,这些问题都可以在网上搜索到解决的办法。另外,原网页中串口的路径是原作者电脑上的路径,你在配置时就在自己电脑上随便写个路径就行;

2.原文说使用NFS进行文件共享,感觉很复杂。其实可以使用VirtualBox“设置”选项里面的“共享文件夹”,将你要调试kernel source代码所在的文件夹添加,选择“固定分配”,然后在guest终端下面执行“sudo mount -t vboxsf /共享文件夹的名字(在共享文件夹里面可以看到) /mnt/share/”, /mnt/share/ 是你自己创建的一个目录,这样就可以在这个目录下访问或修改你的共享文件。(在虚拟机里面编译内核是非常耗时的,因此如果将内核代码所在的文件作为共享文件,就可以在host下make,然后在虚拟机里面make modules_install和make install);

3.原文里面使用socat时只用了“socat -d -d /code/guest/serial PTY:”一条命令(注意修改路径),笔者尝试了很多次都是不成功的。网上查阅许多资料后发现,在上一条命令之后,再运行"socat /code/guest/serial tcp-listen:5000"即可。然后在host进行gdb连接时应通过5000端口连接,即target remote:5000;

其他未涉及的地方请参考原文链接。
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

ARM-使用KGDB调试内核

今天看了《嵌入式linux应用开发 完全手册》中第18章,关于使用KGDB调试内核的问题,中间碰到了一些问题,最后查找资料,一一解决了把过程记录于此,以便以后参考>>>>>>>>>> 一、linux主...
  • u012296253
  • u012296253
  • 2013-10-22 15:27
  • 1178

linux内核kgdb调试

从2.6.26开始,Linux 主干内核开始内置了代码级调试器 kgdb。通过 kgdb,可以在内核代码中设置断点,单步调试和观察变量。为了使用 kgdb,需要有两个系统。一个作为上位机,一个作为下位...
  • u013470224
  • u013470224
  • 2016-05-04 13:55
  • 1691

imx6 KGDB调试方法总结(光谷王凯的博客)

1,平台环境 PC:ubuntu12.04 单板:imx6(android4.4.2) 2,imx6的kernel编译加gdb调试 make menuconfig,然后按照Kernelhack...
  • kao2406
  • kao2406
  • 2016-04-07 11:50
  • 1143

使用kdb和kgdb调试Linux内核(3)

Linux内核可以远程用gdb调试。但调试内核某块还是有些特殊的问题要处理。本文主要介绍如何利用gdb kgdb 去调试Linux内核模块。
  • yayong
  • yayong
  • 2016-05-13 09:05
  • 1981

使用kdb和kgdb调试Linux内核(1)

使用kdb和kgdb调试linux内核在内核模块开发早期是非常方便的手段。尤其kgdb是源码级内核调试器,是学习Linux内核的有力工具。
  • yayong
  • yayong
  • 2016-02-04 09:34
  • 1180

使用KGDB调试内核 on QEMU

本文由daviyang35起草,DDD最终完成。 对于本文有任何疑问,可直接在文章后评论询问。 1: 编译Linux + KGDB 1.1: 安装编译工具 请参考其他相关教程,推荐在安装系统的...
  • Aegeaner
  • Aegeaner
  • 2012-06-18 15:02
  • 1066

使用KGDB调试内核 on QEMU(一步一步跟我学)

http://www.kgdb.info/kgdb/use_kgdb/using_kgdb_base_qemu/ 本文由daviyang35起草,DDD最终完成。 对于本文有任...
  • larryliuqing
  • larryliuqing
  • 2013-10-21 17:35
  • 1347

使用kdb和kgdb调试Linux内核(2)

Linux内核崩溃时,如果保存core文件失败,或者发生在系统启动早期,kdb/kgdb可能是一个解决问题的利器。过去网上很多文章介绍利用串口kgdb调试内核,这要求运行gdb的机器和被调试的机器通过...
  • yayong
  • yayong
  • 2016-02-05 09:36
  • 1471

使用kgdb进行Linux内核调试(未完成!)

Linux内核调试 本篇文章将介绍如何进行Linux的内核调试,我们的环境如下: 主机:Ubuntu 11.04 虚拟机:VirtualBox的Ubuntu11.04 首先做如...
  • htttw
  • htttw
  • 2012-02-15 17:58
  • 1607

使用KGDB 进行内核调试(平台搭建和调试)

最近做的research涉及到在调试一个loadable linux kernelmodule, 查了下相关资料,发现在kernel下debug 需要的工具是KGDB(其实KGDB主要是做一个连接桥梁...
  • wupeng_2012
  • wupeng_2012
  • 2012-04-30 03:38
  • 553
    个人资料
    • 访问:1534471次
    • 积分:21206
    • 等级:
    • 排名:第415名
    • 原创:1816篇
    • 转载:1041篇
    • 译文:0篇
    • 评论:66条
    相册/老博客
    最新评论