libnd_debug

Name

libnd_debug -- 

Synopsis

void                libnd_debug_enter                   (const char *function);
void                libnd_debug_return                  (const char *function);
gboolean            libnd_debuggable                    (void);
#define             D                                   (x)
#define             D_ASSERT                            (exp, msg)
#define             D_ASSERT_PTR                        (ptr)
#define             D_ENTER
#define             D_RETURN
#define             D_RETURN_                           (x)

Description

Details

libnd_debug_enter ()

void                libnd_debug_enter                   (const char *function);

function :


libnd_debug_return ()

void                libnd_debug_return                  (const char *function);

function :


libnd_debuggable ()

gboolean            libnd_debuggable                    (void);

Returns :


D()

#define             D(x)

Use this macro to output debugging information. x is the content as you would pass it to printf(), including braces to make the arguments appear as one argument to the macro. The macro is automatically deleted if -DDEBUG is not passed at build time.

x :

debugging information.


D_ASSERT()

#define             D_ASSERT(exp, msg)

The macro outputs msg if the expression exp evaluates to FALSE.

exp :

expression to evaluate.

msg :

message to output if exp fails.


D_ASSERT_PTR()

#define             D_ASSERT_PTR(ptr)

The macro asserts the existence (i.e. non-NULL-ness) of the given pointer, and outpus a message if it is NULL.

ptr :

pointer to check.


D_ENTER

#define             D_ENTER

The macro updates internal debugging state when entering the function where this macro is used. Use it at the beginning of a function, but don't forget to properly match up D_ENTER with D_RETURN! The macro outpus the name of the entered function indented by the current nesting level.


D_RETURN

#define             D_RETURN

The macro updates internal debugging state when leaving the function where this macro is used. Use this macro wherever the function can be left, and don't forget D_ENTER.


D_RETURN_()

#define             D_RETURN_(x)

Same as D_RETURN, but for return with an argument.

x :