mirror of
https://github.com/wolfpld/tracy.git
synced 2025-03-20 07:40:02 +08:00
Gracefully store failure states.
This commit is contained in:
@@ -170,7 +170,19 @@ private:
|
||||
};
|
||||
};
|
||||
|
||||
struct FailureData
|
||||
{
|
||||
uint64_t thread;
|
||||
int32_t srcloc;
|
||||
};
|
||||
|
||||
public:
|
||||
enum class Failure
|
||||
{
|
||||
None,
|
||||
ZoneStack
|
||||
};
|
||||
|
||||
Worker( const char* addr );
|
||||
Worker( FileRead& f, EventType::Type eventMask = EventType::All );
|
||||
~Worker();
|
||||
@@ -269,6 +281,10 @@ public:
|
||||
static const LoadProgress& GetLoadProgress() { return s_loadProgress; }
|
||||
int64_t GetLoadTime() const { return m_loadTime; }
|
||||
|
||||
void ClearFailure() { m_failure = Failure::None; }
|
||||
Failure GetFailureType() const { return m_failure; }
|
||||
const FailureData& GetFailureData() const { return m_failureData; }
|
||||
|
||||
private:
|
||||
void Exec();
|
||||
void ServerQuery( uint8_t type, uint64_t data );
|
||||
@@ -314,6 +330,8 @@ private:
|
||||
tracy_force_inline void ProcessZoneBeginImpl( ZoneEvent* zone, const QueueZoneBegin& ev );
|
||||
tracy_force_inline void ProcessGpuZoneBeginImpl( GpuEvent* zone, const QueueGpuZoneBegin& ev );
|
||||
|
||||
void ZoneStackFailure( uint64_t thread, const ZoneEvent* ev );
|
||||
|
||||
tracy_force_inline void CheckSourceLocation( uint64_t ptr );
|
||||
void NewSourceLocation( uint64_t ptr );
|
||||
tracy_force_inline uint32_t ShrinkSourceLocation( uint64_t srcloc );
|
||||
@@ -423,6 +441,9 @@ private:
|
||||
|
||||
static LoadProgress s_loadProgress;
|
||||
int64_t m_loadTime;
|
||||
|
||||
Failure m_failure = Failure::None;
|
||||
FailureData m_failureData;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user