Seal editor Win32 platform boundary

This commit is contained in:
2026-04-26 23:30:29 +08:00
parent de64d9a698
commit 09b1289338
22 changed files with 410 additions and 249 deletions

View File

@@ -2,10 +2,30 @@
#include <cstdint>
#include <filesystem>
#include <string>
#include <string_view>
#include <vector>
namespace XCEngine::UI::Editor {
struct UIEditorCrashTraceFrame {
std::uintptr_t address = 0u;
std::uintptr_t displacement = 0u;
std::uint32_t line = 0u;
std::uint32_t lineDisplacement = 0u;
std::string moduleName = {};
std::string symbolName = {};
std::string sourceFile = {};
};
struct UIEditorCrashTrace {
std::uint32_t exceptionCode = 0u;
const void* exceptionAddress = nullptr;
std::uint32_t threadId = 0u;
std::string exceptionModule = {};
std::vector<UIEditorCrashTraceFrame> stackFrames = {};
};
void InitializeUIEditorRuntimeTrace(const std::filesystem::path& logRoot);
void ShutdownUIEditorRuntimeTrace();
@@ -16,10 +36,7 @@ void AppendUIEditorRuntimeTrace(
void AppendUIEditorCrashTrace(
std::uint32_t exceptionCode,
const void* exceptionAddress);
void AppendUIEditorCrashTrace(
std::uint32_t exceptionCode,
const void* exceptionAddress,
const struct _EXCEPTION_POINTERS* exceptionPointers);
void AppendUIEditorCrashTrace(const UIEditorCrashTrace& trace);
std::filesystem::path GetUIEditorRuntimeTracePath();
std::filesystem::path GetUIEditorCrashTracePath();