1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00

Perform symbol information queries.

This commit is contained in:
Bartosz Taudul
2020-02-26 22:35:15 +01:00
parent ef05570540
commit 26cee8acf0
7 changed files with 73 additions and 2 deletions
+25
View File
@@ -2301,6 +2301,9 @@ bool Profiler::HandleServerQuery()
case ServerQueryParameter:
HandleParameter( ptr );
break;
case ServerQuerySymbol:
HandleSymbolQuery( ptr );
break;
default:
assert( false );
break;
@@ -2677,6 +2680,28 @@ void Profiler::HandleParameter( uint64_t payload )
m_paramCallback( idx, val );
}
void Profiler::HandleSymbolQuery( uint64_t symbol )
{
#ifdef TRACY_HAS_CALLSTACK
const auto sym = DecodeSymbolAddress( symbol );
SendString( uint64_t( sym.file ), sym.file, QueueType::CustomStringData );
SendString( uint64_t( sym.name ), sym.name, QueueType::CustomStringData );
QueueItem item;
MemWrite( &item.hdr.type, QueueType::SymbolInformation );
MemWrite( &item.callstackFrame.file, uint64_t( sym.file ) );
MemWrite( &item.callstackFrame.name, uint64_t( sym.name ) );
MemWrite( &item.callstackFrame.line, sym.line );
MemWrite( &item.callstackFrame.symAddr, symbol );
AppendData( &item, QueueDataSize[(int)QueueType::SymbolInformation] );
tracy_free( (void*)sym.file );
tracy_free( (void*)sym.name );
#endif
}
}
#ifdef __cplusplus
+1
View File
@@ -557,6 +557,7 @@ private:
bool HandleServerQuery();
void HandleDisconnect();
void HandleParameter( uint64_t payload );
void HandleSymbolQuery( uint64_t symbol );
void CalibrateTimer();
void CalibrateDelay();