mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-26 16:04:34 +00:00
Wait for failure callstack to be received.
This commit is contained in:
parent
d8e653ecb4
commit
3135191e90
@ -2869,6 +2869,17 @@ bool Worker::IsThreadStringRetrieved( uint64_t id )
|
|||||||
return strcmp( name, "???" ) != 0;
|
return strcmp( name, "???" ) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Worker::IsCallstackRetrieved( uint32_t callstack )
|
||||||
|
{
|
||||||
|
auto& cs = GetCallstack( callstack );
|
||||||
|
for( auto& v : cs )
|
||||||
|
{
|
||||||
|
auto frameData = GetCallstackFrame( v );
|
||||||
|
if( !frameData ) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool Worker::IsSourceLocationRetrieved( int16_t srcloc )
|
bool Worker::IsSourceLocationRetrieved( int16_t srcloc )
|
||||||
{
|
{
|
||||||
auto& sl = GetSourceLocation( srcloc );
|
auto& sl = GetSourceLocation( srcloc );
|
||||||
@ -2881,6 +2892,7 @@ bool Worker::HasAllFailureData()
|
|||||||
{
|
{
|
||||||
if( m_failureData.thread != 0 && !IsThreadStringRetrieved( m_failureData.thread ) ) return false;
|
if( m_failureData.thread != 0 && !IsThreadStringRetrieved( m_failureData.thread ) ) return false;
|
||||||
if( m_failureData.srcloc != 0 && !IsSourceLocationRetrieved( m_failureData.srcloc ) ) return false;
|
if( m_failureData.srcloc != 0 && !IsSourceLocationRetrieved( m_failureData.srcloc ) ) return false;
|
||||||
|
if( m_failureData.callstack != 0 && !IsCallstackRetrieved( m_failureData.callstack ) ) return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -755,6 +755,7 @@ private:
|
|||||||
|
|
||||||
bool IsThreadStringRetrieved( uint64_t id );
|
bool IsThreadStringRetrieved( uint64_t id );
|
||||||
bool IsSourceLocationRetrieved( int16_t srcloc );
|
bool IsSourceLocationRetrieved( int16_t srcloc );
|
||||||
|
bool IsCallstackRetrieved( uint32_t callstack );
|
||||||
bool HasAllFailureData();
|
bool HasAllFailureData();
|
||||||
void HandleFailure( const char* ptr, const char* end );
|
void HandleFailure( const char* ptr, const char* end );
|
||||||
void DispatchFailure( const QueueItem& ev, const char*& ptr );
|
void DispatchFailure( const QueueItem& ev, const char*& ptr );
|
||||||
|
Loading…
Reference in New Issue
Block a user