使用VirtualBox和KGDB调试内核

转载 2016年08月29日 11:27:33


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;

其他未涉及的地方请参考原文链接。
举报

相关文章推荐

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

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

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

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

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

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

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

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

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

使用KGDB调试内核 on QEMU

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

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

最近做的research涉及到在调试一个loadable linux kernelmodule, 查了下相关资料,发现在kernel下debug 需要的工具是KGDB(其实KGDB主要是做一个连接桥梁...

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

1: 编译Linux + KGDB 1.1: 安装编译工具 请参考其他相关教程,推荐在安装系统的时候就选择上编译器及支持库 1.2: 下载最新内核代码 在lmkl.org下载最新的内核源码, ...

使用qemu进行内核kgdb调试(ubuntu)

参考文档:http://wiki.ubuntu.org.cn/Kvm%E6%95%99%E7%A8%8B安装虚拟机1.检查虚拟化配置:终端输入: egrep '(vmx|svm)' /proc/cp...

使用KGDB调试内核和模块

内核空间的代码(包括内核和模块)无法像应用程序那样使用gdb进行简单直观的调试. 代码调试一般有两种方法: 一种是通过调试器辅助调试, 如gdb, Visual C++的集成调试环境, JT...

在VMware环境下,使用KGDB调试内核及内核模块---基于kernel 2.6.36

在VMware环境下,使用KGDB调试内核及内核模块---基于kernel 2.6.36 (2011-12-06 20:41) 标签: 转载  分类:分享 原文地址:在VMware环境下,使用...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)