Jelajahi Sumber

Made exception handler optional.

Бранимир Караџић 5 bulan lalu
induk
melakukan
eda38395dd
2 mengubah file dengan 14 tambahan dan 1 penghapusan
  1. 3 0
      include/bx/debug.h
  2. 11 1
      src/debug.cpp

+ 3 - 0
include/bx/debug.h

@@ -76,6 +76,9 @@ namespace bx
 	///
 	void debugOutputCallstack(uint32_t _skip);
 
+	/// Install BX exception handler.
+	void installExceptionHandler();
+
 } // namespace bx
 
 #endif // BX_DEBUG_H_HEADER_GUARD

+ 11 - 1
src/debug.cpp

@@ -552,6 +552,16 @@ namespace bx
 
 #endif // BX_CONFIG_EXCEPTION_HANDLING_*
 
-	ExceptionHandler s_exceptionHandler;
+	void installExceptionHandler()
+	{
+		static bool s_installed = false;
+
+		if (!s_installed)
+		{
+			s_installed = true;
+
+			static ExceptionHandler s_exceptionHandler;
+		}
+	}
 
 } // namespace bx