2 debug.cc -- implement debugging routines
4 source file of the GNU LilyPond music typesetter
6 (c) 1996,98 Han-Wen Nienhuys <hanwen@stack.nl>
16 #include "flower-debug.hh"
27 nulldev = new ofstream ("/dev/null");
28 monitor = new Dstream (&cout,".dstreamrc");
40 want to do a stacktrace .
51 cerr << _("Floating point exception .. \n")<< flush;
55 /// just to make sure print_rat is linked in
56 static void (*rat_printer)(Moment const&);
61 rat_printer = print_rat;
63 set_new_handler (&mynewhandler);
65 set_flower_debug (*monitor, check_debug);
67 signal (SIGFPE, float_handler);
70 bool check_debug=false;
73 bool check_malloc_b = false;
75 // #define MEMORY_PARANOID
77 #ifdef MEMORY_PARANOID
81 operator new (size_t size)
84 result = malloc (size);
86 memfrob (result, size);
92 operator delete (void *p)
97 memfrob (p, 8); // ugh. Need the blocksize. 8 is sysdependant
101 #endif // MEMORY_PARANOID
107 set_flower_debug (*monitor, check_debug);
108 check_malloc_b = experimental_features_global_b;