|
@@ -59,12 +59,22 @@ void parse_env(void) {
|
|
|
}
|
|
|
#endif /* WITH_STATS_TRACE */
|
|
|
|
|
|
- systemallocator.initialized = true;
|
|
|
+#ifdef WITH_DEBUG
|
|
|
+ env = getenv("DMMLIB_DBG_TRACE");
|
|
|
+
|
|
|
+ if(env == NULL) {
|
|
|
+ dbg_fd = stderr;
|
|
|
+ } else {
|
|
|
+ dbg_fd = fopen(env, "a+");
|
|
|
+ }
|
|
|
+#endif /* WITH_DEBUG */
|
|
|
+
|
|
|
+ systemallocator.initialized = true;
|
|
|
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-#if defined WITH_MEM_TRACE || defined WITH_STATS_TRACE
|
|
|
+#if defined WITH_MEM_TRACE || defined WITH_STATS_TRACE || defined WITH_DEBUG
|
|
|
__attribute__((destructor)) void close_trace_files(void);
|
|
|
|
|
|
/** Closes the opened trace files. */
|
|
@@ -79,6 +89,11 @@ void close_trace_files(void) {
|
|
|
fclose(stats_fd);
|
|
|
}
|
|
|
#endif /* WITH_STATS_TRACE */
|
|
|
+#ifdef WITH_DEBUG
|
|
|
+ if(dbg_fd != stderr) {
|
|
|
+ fclose(dbg_fd);
|
|
|
+ }
|
|
|
+#endif /* WITH_DEBUG */
|
|
|
return;
|
|
|
}
|
|
|
-#endif /* WITH_MEM_TRACE || WITH_STATS_TRACE */
|
|
|
+#endif /* WITH_MEM_TRACE || WITH_STATS_TRACE || WITH_DEBUG */
|