Added constant CLEANUP_LEAKED_OBJECTS.
diff --git a/src/VmaReplay/VmaReplay.cpp b/src/VmaReplay/VmaReplay.cpp
index cf3a1b3..c21ff47 100644
--- a/src/VmaReplay/VmaReplay.cpp
+++ b/src/VmaReplay/VmaReplay.cpp
@@ -97,6 +97,10 @@
     _countof(VMA_FUNCTION_NAMES) == (size_t)VMA_FUNCTION::Count,

     "VMA_FUNCTION_NAMES array doesn't match VMA_FUNCTION enum.");

 

+// Set this to false to disable deleting leaked VmaAllocation, VmaPool objects

+// and let VMA report asserts about them.

+static const bool CLEANUP_LEAKED_OBJECTS = true;

+

 static std::string g_FilePath;

 // Most significant 16 bits are major version, least significant 16 bits are minor version.

 static uint32_t g_FileVersion;

@@ -895,9 +899,12 @@
     {

         printf("WARNING: Allocations not destroyed: %zu.\n", m_Allocations.size());

 

-        for(const auto it : m_Allocations)

+        if(CLEANUP_LEAKED_OBJECTS)

         {

-            Destroy(it.second);

+            for(const auto it : m_Allocations)

+            {

+                Destroy(it.second);

+            }

         }

 

         m_Allocations.clear();

@@ -907,8 +914,13 @@
     {

         printf("WARNING: Custom pools not destroyed: %zu.\n", m_Pools.size());

 

-        for(const auto it : m_Pools)

-            vmaDestroyPool(m_Allocator, it.second.pool);

+        if(CLEANUP_LEAKED_OBJECTS)

+        {

+            for(const auto it : m_Pools)

+            {

+                vmaDestroyPool(m_Allocator, it.second.pool);

+            }

+        }

 

         m_Pools.clear();

     }