Re: [git pull] x86 arch updates for v2.6.25

Daniel Phillips
2008-02-07T20:01:05Z

On Wednesday 06 February 2008 04:08, Jan Kiszka wrote:
> While too many people consider a debugger as _the_ tool for kernel
> development, which it clearly isn't, it remains a fairly useful
> feature, and I don't see any regression, technically or
> organizationally, it may introduce to Linux. IMHO, it would be a pity
> if kgdb have to remain out off tree and may potentially fall back at
> quality levels that many of us had fought with in the past.

I do pretty much all my debugging with printk, not just because it is a
pain to go find a working kgdb patch, but also because tools like uml
make printk style debugging really fast. That said, I often find my
development time sinking away into tedious activity like putting in a
printk after each line of code, just to find out where some bad thing
started going bad. At that point a source level debugger would save me
a bunch of time and I would not have to remove the printks afterwards.

However, if the time required to patch the kernel with kgdb is more than
the time spent putting in prinks then I will just grit my teeth and put
in the printks. Never mind that I will end up going through the printk
insertion process many times, while only needing to apply the kgdb
patch once. Ahem, that is once per kernel version, and I change kernel
versions like I change socks (that means "often" for the wags among
you.)

One thing I like to do with a source level debugger besides debugging is
take a walk once through some new algorithm I have implemented. Not
because I think there is a bug, but more for the same reason that I
like to do a side by side walkthrough of new code with another
developer before ever running it. This just provides a different
perspective, so that perhaps some little blemishes, inefficiencies and
redundancies will show themselves, and the code quality usually
improves because of it.

Not that this is the only way I review my own code, it is just another
way. More ways of reviewing code are better. In this sense, the
debugger is like a mechanical friend who always has time available to
join in a side by side code review.

Regards,

Daniel