mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-10 17:29:31 +03:00
improve stacktrace on linux
This commit is contained in:
parent
28893a6c1b
commit
65b2cebcef
3 changed files with 7 additions and 3 deletions
|
@ -131,6 +131,7 @@ if(MI_DEBUG_TRACE)
|
||||||
else()
|
else()
|
||||||
message(STATUS "Enable allocation trace in each heap block (MI_DEBUG_TRACE=ON)")
|
message(STATUS "Enable allocation trace in each heap block (MI_DEBUG_TRACE=ON)")
|
||||||
list(APPEND mi_defines MI_DEBUG_TRACE=1)
|
list(APPEND mi_defines MI_DEBUG_TRACE=1)
|
||||||
|
set(CMAKE_ENABLE_EXPORTS TRUE)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -296,6 +297,7 @@ else()
|
||||||
endif()
|
endif()
|
||||||
message(STATUS "Compiler flags : ${mi_cflags}")
|
message(STATUS "Compiler flags : ${mi_cflags}")
|
||||||
message(STATUS "Compiler defines : ${mi_defines}")
|
message(STATUS "Compiler defines : ${mi_defines}")
|
||||||
|
message(STATUS "Link libraries : ${mi_libraries}")
|
||||||
message(STATUS "Build targets : ${mi_build_targets}")
|
message(STATUS "Build targets : ${mi_build_targets}")
|
||||||
message(STATUS "")
|
message(STATUS "")
|
||||||
|
|
||||||
|
|
|
@ -395,8 +395,9 @@ void _mi_stack_trace_print(const char* msg, void** strace, size_t len, const mi_
|
||||||
(msg==NULL ? "block" : msg), block, avail, bsize);
|
(msg==NULL ? "block" : msg), block, avail, bsize);
|
||||||
char** names = backtrace_symbols(strace, len);
|
char** names = backtrace_symbols(strace, len);
|
||||||
for (size_t i = 0; i < len && strace[i] != NULL; i++) {
|
for (size_t i = 0; i < len && strace[i] != NULL; i++) {
|
||||||
_mi_fprintf(NULL, NULL, " %2zu: %8p: %s\n", i, strace[i], (names[i] == NULL ? "<unknown>" : names[i]));
|
_mi_fprintf(NULL, NULL, " %2zu: %8p: %s\n", i, strace[i], (names == NULL || names[i] == NULL ? "<unknown>" : names[i]));
|
||||||
}
|
}
|
||||||
|
// free(names); // avoid potential recursion and leak the trace
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
void _mi_stack_trace_capture(void** strace, size_t len, size_t skip) {
|
void _mi_stack_trace_capture(void** strace, size_t len, size_t skip) {
|
||||||
|
|
|
@ -15,6 +15,7 @@ if (NOT CMAKE_BUILD_TYPE)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Import mimalloc (if installed)
|
# Import mimalloc (if installed)
|
||||||
find_package(mimalloc 1.7 REQUIRED NO_SYSTEM_ENVIRONMENT_PATH)
|
find_package(mimalloc 1.7 REQUIRED NO_SYSTEM_ENVIRONMENT_PATH)
|
||||||
message(STATUS "Found mimalloc installed at: ${MIMALLOC_LIBRARY_DIR}")
|
message(STATUS "Found mimalloc installed at: ${MIMALLOC_LIBRARY_DIR}")
|
||||||
|
|
Loading…
Add table
Reference in a new issue