| 4137 | } |
| 4138 | |
| 4139 | void WinDebugger::CleanupDebugEval(bool restoreRegisters) |
| 4140 | { |
| 4141 | BfLogDbg("CleanupDebugEval ThreadId=%d\n", mDebugEvalThreadInfo.mThreadId); |
| 4142 | |
| 4143 | WdThreadInfo* evalThreadInfo = NULL; |
| 4144 | if (mThreadMap.TryGetValue(mDebugEvalThreadInfo.mThreadId, &evalThreadInfo)) |
| 4145 | { |
| 4146 | if ((restoreRegisters) && (!mDbgBreak)) |
| 4147 | { |
| 4148 | SetAndRestoreValue<WdThreadInfo*> activeThread(mActiveThread, evalThreadInfo); |
| 4149 | RestoreAllRegisters(); |
| 4150 | // if (mRunState == RunState_Running_ToTempBreakpoint) |
| 4151 | // mRunState = RunState_Paused; |
| 4152 | } |
| 4153 | |
| 4154 | evalThreadInfo->mStartSP = mDebugEvalThreadInfo.mStartSP; |
| 4155 | evalThreadInfo->mStoppedAtAddress = mDebugEvalThreadInfo.mStoppedAtAddress; |
| 4156 | evalThreadInfo->mIsAtBreakpointAddress = mDebugEvalThreadInfo.mIsAtBreakpointAddress; |
| 4157 | evalThreadInfo->mBreakpointAddressContinuing = mDebugEvalThreadInfo.mBreakpointAddressContinuing; |
| 4158 | } |
| 4159 | |
| 4160 | delete mDebugPendingExpr; |
| 4161 | mDebugPendingExpr = NULL; |
| 4162 | mDebugEvalThreadInfo = WdThreadInfo(); |
| 4163 | |
| 4164 | OutputRawMessage("rehupLoc"); |
| 4165 | } |
| 4166 | |
| 4167 | bool WinDebugger::FixCallStackIdx(int& callStackIdx) |
| 4168 | { |
nothing calls this directly
no test coverage detected