From a080d260ab8aafa89fe00e24931a343f5d5eef46 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Mon, 23 Jan 2023 06:56:54 -0500 Subject: [PATCH] Evaluation fixes while program is running --- IDEHelper/DbgExprEvaluator.cpp | 2 +- IDEHelper/WinDebugger.cpp | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/IDEHelper/DbgExprEvaluator.cpp b/IDEHelper/DbgExprEvaluator.cpp index f9918db4..27eece91 100644 --- a/IDEHelper/DbgExprEvaluator.cpp +++ b/IDEHelper/DbgExprEvaluator.cpp @@ -4022,7 +4022,7 @@ DbgTypedValue DbgExprEvaluator::LookupIdentifier(BfAstNode* identifierNode, bool if (mStackSearch->mSearchStr != "*") { mDebugger->UpdateCallStackMethod(mCallStackIdx); - if (stackFrame->mSubProgram != NULL) + if ((stackFrame != NULL) && (stackFrame->mSubProgram != NULL)) { int strLen = strlen(stackFrame->mSubProgram->mName); if (strLen >= findStr.mLength) diff --git a/IDEHelper/WinDebugger.cpp b/IDEHelper/WinDebugger.cpp index 190c4457..a694e127 100644 --- a/IDEHelper/WinDebugger.cpp +++ b/IDEHelper/WinDebugger.cpp @@ -11035,7 +11035,11 @@ void WinDebugger::UpdateCallStack(bool slowEarlyOut) if (!mIsPartialCallStack) return; - BF_ASSERT(!IsInRunState()); + if (mActiveThread == NULL) + return; + + if (IsInRunState()) + return; uint32 tickStart = BFTickCount();