/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: Debug.hpp Date: 2021-6-12 Author: Reece ***/ #pragma once namespace Aurora::Debug { struct LastError { AuUInt address; FailureCategory category; AuString dbg; }; using OSError_t = std::pair; AuUInt32 GetOSErrorFence(); std::optional TryGetOrFetchOSError(); std::optional TryFetchOSError(); AuUInt32 GetCErrorFence(); std::optional TryFetchCError(); std::optional TryGetOrFetchCError(); AuUInt32 GetStackTraceFence(); std::optional TryFetchStackTrace(); std::optional TryGetOrFetchStackTrace(); void CheckErrors(); void InitDebug(); }