[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    RE: RFC: Strategy for integrating the Nana debugging library
From:       David Faure <David.Faure () cramersystems ! com>
Date:       1999-12-21 9:57:06
[Download RAW message or body]

I had some more thoughts about the Nana/kDebug issue.

I'd like you (everybody) to think of the issue KDE-wide, not
only one-app-wide. Having to compile something with -g simply to get
debug output out of it is nonsense, when you think of it KDE-wide.
Some people hack on (/develop/maintain/...) their app only, and that's
great. But some other people (I fall in this category, and a lot of other
developers as well) fix bugs all over KDE, whenever they see one.
Would those people have to compile all of KDE with -g ? That would be
nonsense.

Even more, apps such as kioslaves are more easily debugged by looking at
their
output than by running then in gdb.

If there is a strong demand from app developers that want to use nana, fine
with me. But I think the core libraries, the kioslaves, and even the rest
(those apps that everybody hack one day or another, such as kdebase), should
rather use an improved kDebug, like the one I suggested.

* Simple API (kDebug(message) for apps, kDebug(area,message) for libs or
apps
  that want to use debug areas)
* Easily turned on/off/syslogged (with a separate program)
* Default config file, so that debug info not relevant to most developers is
turned
  off (just like KRun is turned off manually currently)
* Debug info automatically turned off for releases (not warnings/errors)
(see my initial proposal for more details).

To me, this looks like the best KDE can get in terms of debug output, and
displaying of warnings and errors.

For assertions and other checks, nana brings more, but a new lib for only
that seems overkill to me, and if that's only available with -g, see above.
In that case (requires -g) I think that improving or writing stuff like 
kAssert, kEnsure... would be a better solution. And not very complex to do
at all
(this is not stupidly reinventing the wheel). It's taking some good ideas
out
of something that doesn't have the right approach for KDE (requires -g,
requires gdb...)

Something else: I'd also like kDebug to show filename and line, but that
means
turning it back into a macro. Well, just like nana does, but we moved away
from the KDEBUG macros (one per number of args) for some reason I forgot 
(I thought it was because macros with var args were not supported, but 
according to nana they are...).

I am a bit disappointed that while I try to discuss things, and before
there was any kind of consensus, nana was simply imported into kdelibs. Now
I
look like the guy who want to destroy existing code, whereas I'm not, and
I'm really thinking in terms of what's best for KDE.
Code counts, yes, but deciding before coding counts as well.

Opinions, please !

--
David Faure
faure@kde.org - KDE developer
david@mandrakesoft.com - Mandrake
david.faure@cramersystems.com - Cramer Systems

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic