
GDB
conceptcon
这个作者很懒,什么都没留下…
展开
-
如何调试Linux内核
如果想深入理解Linux内核,我们就不得不接触Linux内核的调试。常用的Linux内核调试器是KDB。KDB是一款开源的调试工具,由SGI公司开发,嵌入在Linux内核中为内核程序员提供调试支持。它适用于内核及驱动程序的调试,目前支持的CPU体系结构有:x86, IA64和MIPS等。对于内核感兴趣的人可以使用kdb来查看内核的数据结构和运行状态,从而加深对内核的理解。KDB的弱转载 2012-10-19 08:25:15 · 1142 阅读 · 0 评论 -
KGDB+VMware内核调试环境搭建
KGDB 是个一特殊的内核辅助工具,除了在内核代码中加入了一些调试代码外也提供一个 gdbstub 用于和远程 gdb 调试程序联机用。以前,这样一个使用远程 gdb 调试内核的开发需要在一般linux内核上打 KGDB 补丁(patches)同时编译时使用特殊编译设置来完成。 可喜的是,至 linux-2.6.xx(xx多少记不清了)后的版本内核已经正式将 kgdb 加入为主流核心发布的一部份。转载 2012-10-19 08:55:47 · 2175 阅读 · 0 评论 -
如何调试和阅读linux内核源码
1)SourceInsight 必备工具2)Makefile 中CC =$(CROSSCOM_PILE)gcc 改成 CC =$(CROSSCOM_PILE)gcc -g这样产生的vmlinux带有调试信息3)vmlinux: 处$(LD) ... 改成$(LD) -Map vmlinux.Map这样能生成Mapfile vmlinux.Map,里面可能有有转载 2012-10-19 08:59:42 · 1748 阅读 · 0 评论 -
GDB调试精粹及使用实例
一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。 如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。 利用set args 命令就可以修改转载 2012-10-19 08:23:31 · 562 阅读 · 0 评论 -
如何使用Qemu+gdb来调试内核
昨天听别人讲使用Qemu和gdb来实现源码级内核调试,今天试了一下,果然非常方便,现简单的记录一下。Qemu是一个开源的虚拟机软件,能够提供全系统的仿真,可以运行在多个平台上,并仿真多个别的平台。Qemu虚拟机是采用动态翻译来实现CPU的仿真的,对硬件的依赖程度低,通过它提供的众多参数,你能够对虚拟的机器进行定制以满足你的需求。要想对内核进行调试,那自然需要重新编译转载 2012-10-19 08:38:39 · 910 阅读 · 0 评论 -
如何使用gdb结合qemu调试linux内核源码
1.编译linux内核源码$make menuconfig进入选项Kernel hacking选项,选中kernel debugging和Compile kernel with debug info选项,保存退出。$make成功编译后产生arch/i386/boot/bzImage 2.从qemu官网下载linux-0.2.img 3.开始测试 【使用转载 2012-10-22 17:37:24 · 1045 阅读 · 0 评论 -
Linux下重量级命令strace使用介绍
经常使用LINUX的朋友或许经常会疑问:linux是怎么样执行一条命令并得到正确输出结果的呢?比如你输入一个pwd,得到的是当前路径,输入一个env显示的是系统环境变量等等,那你想知道他们是怎么样执行的吗?go ahead!!首先:我们先看下一个重量级的系统调用函数execve(),具体的参数和返回值请大家使用man execve命令来查询吧。如下程序就是来自实例文档:[w转载 2013-06-28 18:25:43 · 1251 阅读 · 0 评论