diff --git a/cmake/set_default_flags.cmake b/cmake/set_default_flags.cmake
index ac0ca3f0a4a5960e023323511faa10354e51c4e9..653cbe98516d6e65e80f51383d1bd9bc11efc406 100644
--- a/cmake/set_default_flags.cmake
+++ b/cmake/set_default_flags.cmake
@@ -31,6 +31,8 @@ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -O0")
 set(CMAKE_CXX_FLAGS_TSAN "${CMAKE_CXX_FLAGS} -g -O1 -fsanitize=thread -fno-inline")
 set(CMAKE_CXX_FLAGS_ASAN "${CMAKE_CXX_FLAGS} -g -O0 -fsanitize=address -fsanitize=undefined -fsanitize=leak")
 
+add_compile_definitions("$<$<CONFIG:Debug>:_GLIBCXX_ASSERTIONS>")
+
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${${PROJECT_NAME}_C_FLAGS} -Wall -Wextra -Wshadow -pedantic -Wuninitialized")
 set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3")
 set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 -g")