From 56572b8750941c85e3e8beeb13cb3e9981d27122 Mon Sep 17 00:00:00 2001 From: yannis Date: Fri, 7 Oct 2022 15:22:36 +0200 Subject: [PATCH] Use unique ids for DbgHelp calls --- mitimon/src/symbols.cpp | 4 +++- mitimon/src/symbols.h | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/mitimon/src/symbols.cpp b/mitimon/src/symbols.cpp index efa8a4b..b3ab73b 100644 --- a/mitimon/src/symbols.cpp +++ b/mitimon/src/symbols.cpp @@ -8,9 +8,11 @@ #include "symbols.h" #include "winkrabs.h" +std::atomic Symbolicator::nextSymbolicatorId{ 1 }; + Symbolicator::Symbolicator(const ProcessData&& processData, const std::wstring& symDir, const std::wstring& symPath) : mProcessData{ processData }, - mProcess{ reinterpret_cast(processData.pid()) }, + mProcess{ reinterpret_cast(nextSymbolicatorId++) }, mModuleMap{} { ::SymSetOptions(SYMOPT_IGNORE_NT_SYMPATH); diff --git a/mitimon/src/symbols.h b/mitimon/src/symbols.h index ad3ae09..bb820d2 100644 --- a/mitimon/src/symbols.h +++ b/mitimon/src/symbols.h @@ -30,6 +30,9 @@ class Symbolicator { std::unordered_map mModuleMap; bool load(const ImageData& imageData); + +private: + static std::atomic nextSymbolicatorId; }; #endif // SYMBOLS_H