存档

作者存档

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

2010年7月16日 27 条评论

一步一步跟我学 使用KGDB调试内核 on QEMU.
1: 编译Linux + KGDB
2: 制作自己的文件系统
3: 安装qemu
4: 使用qemu运行自己编译的内核
5: gdb 连结 自编译内核的kgdb
6: gdb + kgdb 调试内核操作示例
7: 引用/扩展阅读

kgdb抓虫日记 – kgdb 与 sched_clock[softlockup]

2010年6月28日 没有评论

softlockup: add sched_clock_tick() to avoid kernel warning on kgdbresume

WebRTC简介

2011年11月9日 2 条评论

一个有关WebRTC简单介绍PPT。 Webrtc View more presentations from […]

分类: LinuxDev 标签:

ProtoBuf 介绍PPT

2011年10月28日 没有评论

一个有关ProtoBuf 介绍的PPT

分类: LinuxDev 标签:

LibFetion bugs

2011年7月15日 2 条评论

这里记录了些我在做libfetion小程序时遇到的一些比较诡异的问题,希望大家在遇到类似问题时,有一个小小的借鉴

分类: LinuxDev 标签: ,

gdb的 Ctrl+c 怎么让内核给停下来

2011年7月5日 没有评论

收到不少同学发邮件询问gdb的 Ctrl+c 怎么怎么让内核给停下来,这里就写写关于这方面的内容。
目前常用的gdblinux内核的通信是基于串口的kgdboc模块来连接的,所以本文就以串口的kgdboc来讲解。

文章分两个部分来解释这个问题,一部分是gdb端对ctrl+c操作做的一些处理,另外一部分则是内核对停止指令处理。

分类: gdb, kgdb, 深入kgdb 标签: , , ,

Linux Kernel Debugging

2011年5月25日 2 条评论

自己准备的一个有关Linux 内核调试方面介绍的PPT,希望大家能够喜欢。

分类: kgdb, LinuxDev 标签: , ,

内核调试器kdb与kgdb模式相互切换

2011年3月16日 16 条评论

自从kdb集成到内核后,调试内核就多了一种选择,可以选择仅需要目标机,自己调试自己的kdb,
或选择需要额外一台机器来辅助调试的kgdb

引人kdb,也引发一个新功能需求,即调试器之间的切换选择,如从kdb模式切换到kgdb模式或者反过来。

而且由于kdb和kgdb并不互斥,可在系统中同时存在,而kdb不需要额外的机器来辅助调试这一便利性,
所以在kgdb和kdb同时被使能的情况下,系统调试器缺省设置为kdb模式,这时kgdb用户使用gdb尝试
去连接内核的话,由于缺省设置为kdb模式,为了方便用户使用,还要求系统可以自动从kdb切换到kgdb
模式的功能(当gdb连接的时候)。

MyGdb(一) — 加载被调试程序

2011年1月6日 没有评论

从调试器的视角来看,正在运行的程序可以分为两类,一类是正常运行的,不受调试器干扰的程序。另一类是处于调试状态的程序,它的每一步运行都在调试器的掌控之下。

让程序处于调试状态大有2种方式,一种是静态加载,即由调试器来启动程序,告知系统,这个程序将要被调试。
第二种是动态加载,即程序正在运行,调试器通过一些系统调用来迫使使得程序处于调试状态。

分类: debugger theory, gdb 标签: ,

为KGDB 增加watchpoint断点支持 on x86

2010年11月18日 2 条评论

the watchpoint of kgdb 大致流程为:

A:using gdb to set a watchpoint

B:send out a set watchpoint protocol packet to kgdb from gdb
C:kgdb receive/parse the protocol packet

D:kgdb set a watchpoint hardware breakpoint on kernel

E:Once kernel hit a watchpoint breakpoint, kgdb will collect the watchpoint breakpoint
info, fill them to a Stop-Reply-Packets with watchpoint format, and send out to gdb

分类: kgdb, 深入kgdb 标签: ,