[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.
Casper
More information about the Ros-kernel
mailing list