diff --git a/change/react-native-windows-26f2e365-fe3c-4635-8874-2e9536724017.json b/change/react-native-windows-26f2e365-fe3c-4635-8874-2e9536724017.json new file mode 100644 index 00000000000..61065975863 --- /dev/null +++ b/change/react-native-windows-26f2e365-fe3c-4635-8874-2e9536724017.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "First attempt at logging DLL load failure info", + "packageName": "react-native-windows", + "email": "14967941+danielayala94@users.noreply.github.com", + "dependentChangeType": "none" +} diff --git a/vnext/Shared/HermesRuntimeHolder.cpp b/vnext/Shared/HermesRuntimeHolder.cpp index 3ed3525b068..dd1fbfe05a7 100644 --- a/vnext/Shared/HermesRuntimeHolder.cpp +++ b/vnext/Shared/HermesRuntimeHolder.cpp @@ -39,7 +39,14 @@ void NAPI_CDECL removeInspectorPage(int32_t pageId) noexcept; class HermesFuncResolver : public IFuncResolver { public: - HermesFuncResolver() : libHandle_(LoadLibraryAsPeerFirst(L"hermes.dll")) {} + HermesFuncResolver() { + libHandle_ = LoadLibraryAsPeerFirst(L"hermes.dll"); + + // If hermes.dll failed to load, catch the last Win32 error and surface it. + if (libHandle_ == nullptr) { + CRASH_ON_ERROR(GetLastError()); + } + } FuncPtr getFuncPtr(const char *funcName) override { return reinterpret_cast(GetProcAddress(libHandle_, funcName));