存档

文章标签 ‘kgdb抓虫日记’

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

2010年6月28日 没有评论

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

抓虫日记之 kgdb 和 删除硬断点

2010年10月22日 没有评论

为避免硬/软断点影响kgdb,在kgdb主程序kgdb_cpu_enter运行过程中,所有的断点是被disable的。
对于硬件断点来说,它会显示的调用kgdb_disable_hw_debug()来disable所有的硬件断点,
在kgdb离开时,调用kgdb_correct_hw_break()来使能/增加需要激活的硬件断点。

抓虫日记之 kgdb 与 removed breakpoint

2010年9月21日 没有评论

kgdb_skipexception()函数的引入是为了避免kgdb踩中已经删除的断点而做的特殊处理.
所有删除的断点,必须标记为BP_REMOVED, 否则就会出现kgdb踩中已经删除的断点这情况.

kgdb抓虫日记 – gdb 7.1 不能正常退出KGDB

2010年7月9日 没有评论

gdbserver对于不识别或者不支持的命令,都是返回””空包给gdb的,
所以kgdb也应当返回””空包给gdb,这样问题就解决了.

kgdb抓虫日记 – set breakpoint at ppc64

2010年6月28日 没有评论

一般来说,往哪个点设置什么值,是由gdb来主导的,kgdb只是执行相应的动作,既然kgdb是正常执行的,
那也许就意味着是gdb搞错地址了,把module_event函数的地址给取错了,然后触发了这个问题.

kgdb抓虫日记 – kgdboe 与 system hang

2010年6月28日 没有评论

为解决这个bug,前前后后忙了我整整一个星期。虽然最终的问题和kgdb关系不大,但我学到了不少东西,
比如说加深了系统中断的处理实现和mips的很多东西。

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

2010年6月28日 没有评论

If the sched_clock() was realized based on jiffies, kgdb often
causes softlock warning messages on resuming or detaching from
a debug session.

kgdb抓虫日记 – set breakpoint at mips

2010年6月23日 没有评论

其本质原因是, kgdb依赖了notifier_call_chain()来捕获断点,只要往notifier_call_chain()下了断点就会让kgdb陷入死循环的问题.

所以从本质上解决问题的方法有两个:
1: 不让kgdb依赖notifier_call_chain().
2: 禁止把断点下类似notifier_call_chain()这样的kgdb依赖的函数里面.