diff options
-rw-r--r-- | cmake/compiler/msvc/settings.cmake | 13 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_debug.cpp | 4 |
2 files changed, 15 insertions, 2 deletions
diff --git a/cmake/compiler/msvc/settings.cmake b/cmake/compiler/msvc/settings.cmake index fc1b8122af5..36930733bb2 100644 --- a/cmake/compiler/msvc/settings.cmake +++ b/cmake/compiler/msvc/settings.cmake @@ -159,6 +159,19 @@ target_compile_options(trinity-compile-option-interface /we4263 /we4264) +if(ASAN) + target_compile_definitions(trinity-compile-option-interface + INTERFACE + -D_DISABLE_STRING_ANNOTATION + -D_DISABLE_VECTOR_ANNOTATION) + + target_compile_options(trinity-compile-option-interface + INTERFACE + /fsanitize=address) + + message(STATUS "MSVC: Enabled Address Sanitizer ASan") +endif() + # Disable incremental linking in debug builds. # To prevent linking getting stuck (which might be fixed in a later VS version). macro(DisableIncrementalLinking variable) diff --git a/src/server/scripts/Commands/cs_debug.cpp b/src/server/scripts/Commands/cs_debug.cpp index a1ea6538dd2..a73c8329993 100644 --- a/src/server/scripts/Commands/cs_debug.cpp +++ b/src/server/scripts/Commands/cs_debug.cpp @@ -1634,7 +1634,7 @@ public: uint8 stack_array[10] = {}; int size = 10; - handler->PSendSysMessage("Triggered an array out of bounds read at address %p, value %u", stack_array + size, stack_array[size]); + handler->PSendSysMessage("Triggered an array out of bounds read at address %p, value %u", static_cast<void*>(stack_array + size), stack_array[size]); #endif return true; } @@ -1643,7 +1643,7 @@ public: { #ifdef ASAN uint8* leak = new uint8(); - handler->PSendSysMessage("Leaked 1 uint8 object at address %p", leak); + handler->PSendSysMessage("Leaked 1 uint8 object at address %p", static_cast<void*>(leak)); #endif return true; } |