/* * Copyright 2010-2012 Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. */ #ifndef MALLOC_DEBUG_H #define MALLOC_DEBUG_H #include <OS.h> #ifdef __cplusplus extern "C" { #endif status_t heap_debug_start_wall_checking(int msInterval); status_t heap_debug_stop_wall_checking(); void heap_debug_set_memory_reuse(bool enabled); void heap_debug_set_paranoid_validation(bool enabled); void heap_debug_set_debugger_calls(bool enabled); void heap_debug_set_default_alignment(size_t defaultAlignment); void heap_debug_validate_heaps(); void heap_debug_validate_walls(); void heap_debug_dump_allocations(bool statsOnly, thread_id thread); void heap_debug_dump_heaps(bool dumpAreas, bool dumpBins); void *heap_debug_malloc_with_guard_page(size_t size); status_t heap_debug_get_allocation_info(void *address, size_t *size, thread_id *thread); status_t heap_debug_dump_allocations_on_exit(bool enabled); status_t heap_debug_set_stack_trace_depth(size_t stackTraceDepth); #ifdef __cplusplus } #endif #endif /* MALLOC_DEBUG_H */