[ros-kernel] Re: [ros-cvs] CVS Update: reactos

Casper Hornstrup chorns at users.sourceforge.net
Thu Sep 2 22:40:03 CEST 2004


> -----Original Message-----
> From: ros-kernel-bounces at reactos.com 
> [mailto:ros-kernel-bounces at reactos.com] On Behalf Of Steven Edwards
> Sent: 2. september 2004 19:39
> To: ReactOS Kernel List; navaraf at osexperts.com
> Subject: Re: [ros-kernel] Re: [ros-cvs] CVS Update: reactos
> Hi,
> --- Jens Henrik Hertz <baremig at ziansoft.dk> wrote:
> > Maybe someone could implement a system to dynamically switch on/off 
> > debugging messages for various modules.
> > Perhaps switches or some file on the system with a switch 
> to override 
> > it.
> > Just my opinion...
> Yes the current system requires you to rebuild in a all or 
> nothing manner when it comes to debugging a module. Its quite a pain.
> In Wine if we build with debugging enabled you can toggle the 
> debug messages on and off for each module and for each type 
> of debug message you want. Say you want to debug comctl32 in 
> the comctl32 source you would define the debugchannel for 
> comctl32 and then you could use FIXME,WARN,ERR and TRACE 
> macros. Now if you want to enable debugging for a process 
> that is using commctl all you have to do is click a check box 
> in taskmgr to enable advanced debugging for that process. If 
> you start a app from the command line you can do something like this
> WINEDEBUG=comctl32+warn,+shell32 wine testapp.exe
> Would people like this for debug builds of ReactOS? I think 
> we could do the same thing in the kernel and in drivers and 
> add logic to the debugger to toggle the channels on and off.
> Thanks
> Steven

There is such a system in ReactOS, but only for ntoskrnl and only
when KDBG=1. It works on a per file basis, not on a per module basis.
You can enable/disable debug output from a specific file in ntoskrnl
using the kernel debugger. I intended to extend the GDB stub to do
allow GDB to do this, but I never got around to it.


More information about the Ros-kernel mailing list