On Wed, 6 Sep 2000, Linus Torvalds wrote:
> Oh. And sure, when things crash and you fsck and you didn't even get a
> clue about what went wrong, you get frustrated. Tough. There are two kinds
> of reactions to that: you start being careful, or you start whining about
> a kernel debugger.
> I happen to believe that not having a kernel debugger forces people to
> think about their problem on a different level than with a debugger. I
> think that without a debugger, you don't get into that mindset where you
> know how it behaves, and then you fix it from there. Without a debugger,
> you tend to think about problems another way. You want to understand
> things on a different _level_.
> It's partly "source vs binary", but it's more than that. It's not that you
> have to look at the sources (of course you have to - and any good debugger
> will make that _easy_). It's that you have to look at the level _above_
> sources. At the meaning of things. Without a debugger, you basically have
> to go the next step: understand what the program does. Not just that
> particular line.
As you said, the are two kinds of reactions. I don't understand why you
think that the presence of a debugger will *prevent* people from doing
the Right Thing and "think about problems another way". Are debuggers so
evil? Will a KDB option in the standard tarball seduce ALL the smart guys
, and even YOU, and lead you all to the Dark Side? Do you believe a
debugger has such a power?
You don't need to be blind to be able to listen to music. It just
happens that you sometimes close your eyes, since it makes it a deeper
experience. So, when you want to "look at the Source" (== "understand
things on a different _level_"), just leave the debugger off.
Don't compile it.
People who don't understand this will keep looking at the debugger
prompt. If the bug is a "easy" one, they'll fix it. If it's an hard
one, one that needs an Higher Knowledge, they won't. And you'll
never see a patch from them. So? Darwin rules anyway...
That said, I believe that you don't need to explain why you don't
include a kernel db in the standard kernel. As far as I'm concerned,
the standard kernel is just a tarball of your kernel tree. And you
put whatever YOU like in it. I call it "the standard kernel" only because
*I* decided to think of it as a reference. It just happens that many
people think that same way I do, and go and grab the latest 'official'
tarball as soon as you release it. I do apply patches (e.g. RAID),
but I won't tell you: "put them in YOUR kernel" the same why I don't
tell you of what color you should paint the walls of your house...
You can be as "bastard" as you like with your kernel since it's YOURS.
You don't like debuggers. Fine. Maybe you don't like them because
you think they will prevent YOU from thinking about bugs the right way.
So they'll never make their way into YOUR kernel.
But please don't say that debuggers are bad for everyone... others may
be able to close their eyes and "look at the Source" even in the
presence of a debugger...
IMHO, there good reasons to leave a debugger out. Technical ones.
You don't need a religious one.
-- ____/ ____/ / / / / Marco Colombo ___/ ___ / / Technical Manager / / / ESI s.r.l. _____/ _____/ _/ Colombo@ESI.it
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to firstname.lastname@example.org Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Sep 07 2000 - 21:00:27 EST