diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 90dac69c..e225bcdb 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -2756,6 +2756,7 @@ void Worker::Exec() m_captureTime = welcome.epoch; m_executableTime = welcome.exectime; m_ignoreMemFreeFaults = ( welcome.flags & WelcomeFlag::OnDemand ) || ( welcome.flags & WelcomeFlag::IsApple ); + m_ignoreFrameEndFaults = welcome.flags & WelcomeFlag::OnDemand; m_data.cpuArch = (CpuArchitecture)welcome.cpuArch; m_codeTransfer = welcome.flags & WelcomeFlag::CodeTransfer; m_combineSamples = welcome.flags & WelcomeFlag::CombineSamples; @@ -5079,7 +5080,8 @@ void Worker::ProcessFrameMarkEnd( const QueueFrameMark& ev ) const auto time = TscTime( ev.time ); if( fd->frames.empty() ) { - FrameEndFailure(); + if ( !m_ignoreFrameEndFaults ) + FrameEndFailure(); return; } assert( fd->frames.back().end == -1 ); diff --git a/server/TracyWorker.hpp b/server/TracyWorker.hpp index 6ef503c9..b84b3ec9 100644 --- a/server/TracyWorker.hpp +++ b/server/TracyWorker.hpp @@ -980,6 +980,7 @@ private: int m_bufferOffset; bool m_onDemand; bool m_ignoreMemFreeFaults; + bool m_ignoreFrameEndFaults; bool m_codeTransfer; bool m_combineSamples; bool m_identifySamples = false;