From 7ce8aa36385a6d1c4a97ff2c8614b74a63f45704 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Thu, 21 Mar 2024 21:39:13 +0100 Subject: [PATCH] impr: Added better error logging in script loader init --- .../source/loaders/dotnet/dotnet_loader.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/plugins/script_loader/source/loaders/dotnet/dotnet_loader.cpp b/plugins/script_loader/source/loaders/dotnet/dotnet_loader.cpp index f7623ac77..e8437694e 100644 --- a/plugins/script_loader/source/loaders/dotnet/dotnet_loader.cpp +++ b/plugins/script_loader/source/loaders/dotnet/dotnet_loader.cpp @@ -106,10 +106,12 @@ namespace hex::script::loader { auto get_hostfxr_path_ptr = getExport(netHostLibrary, "get_hostfxr_path"); - std::array buffer = { 0 }; + std::array buffer = { }; size_t bufferSize = buffer.size(); - if (get_hostfxr_path_ptr(buffer.data(), &bufferSize, nullptr) != 0) { - log::error("Could not get hostfxr path!"); + + auto result = get_hostfxr_path_ptr(buffer.data(), &bufferSize, nullptr); + if (result != 0) { + log::error(hex::format("Could not get hostfxr path! 0x{:X}", result)); return false; } @@ -159,7 +161,7 @@ namespace hex::script::loader { }; if (result > 2 || ctx == nullptr) { - throw std::runtime_error(hex::format("Failed to initialize command line {:X}", result)); + throw std::runtime_error(hex::format("Failed to initialize command line 0x{:X}", result)); } #if defined (OS_WINDOWS) @@ -175,7 +177,7 @@ namespace hex::script::loader { ); if (result != 0 || loadAssemblyFunction == nullptr) { - throw std::runtime_error("Failed to get load_assembly_and_get_function_pointer delegate"); + throw std::runtime_error(hex::format("Failed to get load_assembly_and_get_function_pointer delegate 0x{:X}", result)); } return loadAssemblyFunction; @@ -212,7 +214,7 @@ namespace hex::script::loader { ); if (result != 0 || entryPoint == nullptr) { - log::error("Failed to load assembly loader '{}'", assemblyLoader.string()); + log::error("Failed to load assembly loader '{}'! 0x{:X}", assemblyLoader.string(), result); continue; }