From: Willy Tarreau Date: Sat, 12 May 2012 22:21:17 +0000 (+0200) Subject: MINOR: standard: add a new debug macro : fddebug() X-Git-Tag: v1.5-dev10~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3d2f16f3c3a1a5a906f904b3bc7e435ce232668e;p=thirdparty%2Fhaproxy.git MINOR: standard: add a new debug macro : fddebug() This macro is usable like printf but sends messages to fd #-1, which has no visible effect but is easy to spot in strace. This is very useful to put tracers at many points during debugging sessions. --- diff --git a/include/common/standard.h b/include/common/standard.h index 83b1fc042a..e7c5ebd9a8 100644 --- a/include/common/standard.h +++ b/include/common/standard.h @@ -705,4 +705,10 @@ char *gmt2str_log(char *dst, struct tm *tm, size_t size); char *memprintf(char **out, const char *format, ...) __attribute__ ((format(printf, 2, 3))); + +/* debugging macro to emit messages using write() on fd #-1 so that strace sees + * them. + */ +#define fddebug(msg...) do { char *_m = NULL; memprintf(&_m, ##msg); if (_m) write(-1, _m, strlen(_m)); free(_m); } while (0) + #endif /* _COMMON_STANDARD_H */