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>
13 // #include <std/new.h>
17 #include "flower-debug.hh"
28 nulldev = new ofstream ("/dev/null");
29 monitor = new Dstream (&cout,".dstreamrc");
41 want to do a stacktrace .
52 cerr << _("Floating point exception .. \n")<< flush;
56 /// just to make sure print_rat is linked in
57 static void (*rat_printer)(Moment const&);
62 rat_printer = print_rat;
64 // libg++ 2.8.0 doesn't have set_new_handler
65 // set_new_handler (&mynewhandler);
67 set_flower_debug (*monitor, check_debug);
69 signal (SIGFPE, float_handler);
72 bool check_debug=false;
75 bool check_malloc_b = false;
77 // #define MEMORY_PARANOID
79 #ifdef MEMORY_PARANOID
84 operator new (size_t size)
87 result = malloc (size);
89 memfrob (result, size);
95 operator delete (void *p)
100 memfrob (p, 8); // ugh. Need the blocksize. 8 is sysdependant
104 #endif // MEMORY_PARANOID
110 set_flower_debug (*monitor, check_debug);
111 check_malloc_b = experimental_features_global_b;
112 #ifdef MEMORY_PARANOID
115 warning ("Can't set mem-checking!");