diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 33bf5184..1f80a300 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -4224,7 +4224,7 @@ bool Worker::Process( const QueueItem& ev ) m_serverQuerySpaceLeft++; break; case QueueType::CallstackFrame: - ProcessCallstackFrame( ev.callstackFrame ); + ProcessCallstackFrame( ev.callstackFrame, true ); break; case QueueType::SymbolInformation: ProcessSymbolInformation( ev.symbolInformation ); @@ -5610,7 +5610,7 @@ void Worker::ProcessCallstackFrameSize( const QueueCallstackFrameSize& ev ) } } -void Worker::ProcessCallstackFrame( const QueueCallstackFrame& ev ) +void Worker::ProcessCallstackFrame( const QueueCallstackFrame& ev, bool querySymbols ) { assert( m_pendingCallstackSubframes > 0 ); @@ -5628,7 +5628,7 @@ void Worker::ProcessCallstackFrame( const QueueCallstackFrame& ev ) m_callstackFrameStaging->data[idx].line = ev.line; m_callstackFrameStaging->data[idx].symAddr = ev.symAddr; - if( ev.symAddr != 0 && m_data.symbolMap.find( ev.symAddr ) == m_data.symbolMap.end() && m_pendingSymbols.find( ev.symAddr ) == m_pendingSymbols.end() ) + if( querySymbols && ev.symAddr != 0 && m_data.symbolMap.find( ev.symAddr ) == m_data.symbolMap.end() && m_pendingSymbols.find( ev.symAddr ) == m_pendingSymbols.end() ) { m_pendingSymbols.emplace( ev.symAddr, SymbolPending { name, m_callstackFrameStaging->imageName, file, ev.line, ev.symLen, idx < m_callstackFrameStaging->size - 1 } ); Query( ServerQuerySymbol, ev.symAddr ); diff --git a/server/TracyWorker.hpp b/server/TracyWorker.hpp index 762e4ba5..6f6fda7b 100644 --- a/server/TracyWorker.hpp +++ b/server/TracyWorker.hpp @@ -648,7 +648,7 @@ private: tracy_force_inline void ProcessCallstack(); tracy_force_inline void ProcessCallstackSample( const QueueCallstackSample& ev ); tracy_force_inline void ProcessCallstackFrameSize( const QueueCallstackFrameSize& ev ); - tracy_force_inline void ProcessCallstackFrame( const QueueCallstackFrame& ev ); + tracy_force_inline void ProcessCallstackFrame( const QueueCallstackFrame& ev, bool querySymbols ); tracy_force_inline void ProcessSymbolInformation( const QueueSymbolInformation& ev ); tracy_force_inline void ProcessCodeInformation( const QueueCodeInformation& ev ); tracy_force_inline void ProcessCrashReport( const QueueCrashReport& ev );