Debug support

Luke Kenneth Casson Leighton lkcl at
Mon Nov 23 13:49:14 GMT 1998


hm, thinking of debug levels, how about having a stack system which could
potentially be used for profiling, too:

void some_fn(...)




DEBUG(4,"calling some_fn()");

would generate:

time date "calling some fn()"
time date "some_fn" - "hello"

then you could define some specific stuff like DEBUG_PUSH(DEBUG_MEM);
where #define DEBUG_MEM "memory allocation"

and then filter by this.

if you wanted to do profiling, you have a list/other-storage-method which
is sorted by the DEBUG_PUSH() argument, and it accumulates by a timer
until the next DEBUG_POP() call.

On Sun, 22 Nov 1998, Richard Sharpe wrote:

> Hi folks,
> for the multithreaded SMB server I am writing, I have adopted a slightly
> different approach than Samba, but have copied ideas liberally from Samba.
> I trust that presents no problems.
> My approach is that I will have a debug level and several modules, for
> example:
>    DEBUG_RFC1001
> and each debug statement nominates which module it relates to.
> After I get my command line parsing code done, I will then be able to
> specify which module I am interested in seeing the DEBUG statements from.
> So, if I only want to see the debug statements from memory management, I
> simply specify on the command line:
>    -dMEM:4
> This has already allowed me to simply see that I have quite a lot of memory
> leaks (in one test run, 9000 allocates versus 3000 frees).
> This approach allows me to concentrate on one area rather than seeing heaps
> of debugging statements from all over the code.
> Regards
> -------
> Richard Sharpe, sharpe at, NIC-Handle:RJS96
> NS Computer Software and Services P/L, 
> Ph: +61-8-8281-0063, FAX: +61-8-8250-2080, 
> Samba, Linux, Apache, Digital UNIX, AIX, Netscape, Stronghold, C, ...

<a href="mailto:lkcl at" > Luke Kenneth Casson Leighton  </a>
<a href=""> Samba and Network Development </a>
<a href=""       > Samba and Network Consultancy </a>

More information about the samba-technical mailing list