enable traces on apple

This commit is contained in:
Daan 2021-12-10 12:08:41 -08:00
parent 65b2cebcef
commit b6e2b6e975
3 changed files with 7 additions and 12 deletions

View file

@ -125,14 +125,9 @@ if(MI_DEBUG_FULL)
endif()
if(MI_DEBUG_TRACE)
if (APPLE)
message(WARNING "Cannot enable MI_DEBUG_TRACE on Apple")
set(MI_DEBUG_TRACE OFF)
else()
message(STATUS "Enable allocation trace in each heap block (MI_DEBUG_TRACE=ON)")
list(APPEND mi_defines MI_DEBUG_TRACE=1)
set(CMAKE_ENABLE_EXPORTS TRUE)
endif()
message(STATUS "Enable allocation trace in each heap block (MI_DEBUG_TRACE=ON)")
list(APPEND mi_defines MI_DEBUG_TRACE=1)
set(CMAKE_ENABLE_EXPORTS TRUE)
endif()
if(MI_PADDING_EXTRA)

View file

@ -376,7 +376,7 @@ void _mi_stack_trace_print(const char* msg, void** strace, size_t len, const mi_
}
}
}
#elif (MI_DEBUG_TRACE > 0) && (defined(__linux__) || defined(__FreeBSD__))
#elif (MI_DEBUG_TRACE > 0) && (defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__))
#include <execinfo.h>
#define MI_TRACE_LEN (64)
void _mi_stack_trace_capture(void** strace, size_t len, size_t skip) {

View file

@ -24,8 +24,8 @@ int main() {
mi_version();
mi_stats_reset();
// detect double frees and heap corruption
double_free1();
double_free2();
// double_free1();
// double_free2();
double_free3();
corrupt_free1();
// corrupt_free2();
@ -217,7 +217,7 @@ static void test_reserved(void) {
static void negative_stat(void) {
int* p = mi_malloc(60000);
int* p = (int*)mi_malloc(60000);
mi_stats_print_out(NULL, NULL);
*p = 100;
mi_free(p);