diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 4042a461..ac311c90 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -6268,6 +6268,11 @@ void Worker::ProcessCodeInformation( const QueueCodeInformation& ev ) auto cit = m_checkedFileStrings.find( ref ); if( cit == m_checkedFileStrings.end() ) CacheSource( ref ); } + if( ev.symAddr != 0 ) + { + assert( m_data.codeSymbolMap.find( ev.ptr ) == m_data.codeSymbolMap.end() ); + m_data.codeSymbolMap.emplace( ev.ptr, ev.symAddr ); + } } void Worker::ProcessCrashReport( const QueueCrashReport& ev ) diff --git a/server/TracyWorker.hpp b/server/TracyWorker.hpp index f8b1a538..2bded5b0 100644 --- a/server/TracyWorker.hpp +++ b/server/TracyWorker.hpp @@ -285,6 +285,7 @@ private: Vector symbolLocInline; int64_t newSymbolsIndex = -1; int64_t newInlineSymbolsIndex = -1; + unordered_flat_map codeSymbolMap; #ifndef TRACY_NO_STATISTICS unordered_flat_map*, uint32_t, VarArrayHasher, VarArrayComparator> parentCallstackMap;