diff options
| author | Martin Ridgers <[email protected]> | 2024-09-18 08:10:27 +0200 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2024-09-18 08:10:27 +0200 |
| commit | 455641d84d547ff0578f5c95c33fde1343084ea1 (patch) | |
| tree | 138bad1cecdeb03f1101147edab542b7250ff736 | |
| parent | gc performance improvements (#160) (diff) | |
| parent | Added an entry in the changelog (diff) | |
| download | zen-455641d84d547ff0578f5c95c33fde1343084ea1.tar.xz zen-455641d84d547ff0578f5c95c33fde1343084ea1.zip | |
Merge pull request #161 from ue-foundation/mr/sym-not-loading
Explicitly tell dbghelp.dll to look for PDBs alongside Zen's binaries
| -rw-r--r-- | CHANGELOG.md | 1 | ||||
| -rw-r--r-- | src/zencore/callstack.cpp | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index f49216ee2..92024ec6a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ## - Improvement: Optimizations to GC leading to 50-100% performance increase when handling large data sets +- Bugfix: Symbol resolution could fail on Windows depending on the process' current working directory ## 5.5.7 - Bugfix: Fix race condition in zenserver during batched fetch of small cache chunks (<=1024b) resulting in missing rawhash/rawsize in the response. UE-223703 diff --git a/src/zencore/callstack.cpp b/src/zencore/callstack.cpp index d16605fb9..9b06d4575 100644 --- a/src/zencore/callstack.cpp +++ b/src/zencore/callstack.cpp @@ -1,6 +1,7 @@ // Copyright Epic Games, Inc. All Rights Reserved. #include <zencore/callstack.h> +#include <zencore/filesystem.h> #include <zencore/thread.h> #if ZEN_PLATFORM_WINDOWS @@ -41,8 +42,9 @@ public: m_CallstackLock.WithExclusiveLock([&]() { if (!m_Initialized) { - m_CurrentProcess = GetCurrentProcess(); - if (SymInitialize(m_CurrentProcess, NULL, TRUE) == TRUE) + m_CurrentProcess = GetCurrentProcess(); + std::filesystem::path ProgramBaseDir = GetRunningExecutablePath().parent_path(); + if (SymInitializeW(m_CurrentProcess, ProgramBaseDir.c_str(), TRUE) == TRUE) { m_Initialized = true; } |