| 569 | } |
| 570 | |
| 571 | void DebugTarget::EvaluateAutoStaticVariable(DbgVariable* variable, const StringImpl& fullName) |
| 572 | { |
| 573 | BF_ASSERT(variable->mIsStatic && !variable->mIsConst); // why are you calling this if you haven't checked these yet |
| 574 | BF_ASSERT(!variable->mInAutoStaticMap); |
| 575 | |
| 576 | if ((variable->mLocationData != NULL) && (variable->mLocationLen > 0)) |
| 577 | { |
| 578 | DbgAddrType addrType = DbgAddrType_Local; |
| 579 | intptr variableAddr = variable->mStaticCachedAddr; |
| 580 | if (variableAddr == 0) |
| 581 | { |
| 582 | addrType = DbgAddrType_Target; |
| 583 | variableAddr = variable->mCompileUnit->mDbgModule->EvaluateLocation(NULL, variable->mLocationData, variable->mLocationLen, NULL/*registers*/, &addrType); |
| 584 | } |
| 585 | |
| 586 | //BF_ASSERT((addrType == DbgAddrType_Value) || (variableAddr > 0)); |
| 587 | if ((addrType == DbgAddrType_Local) && (variableAddr != 0)) |
| 588 | { |
| 589 | DbgAutoStaticEntry entry; |
| 590 | |
| 591 | entry.mFullName = fullName; |
| 592 | entry.mVariable = variable; |
| 593 | entry.mAddrStart = variableAddr; |
| 594 | entry.mAddrLen = variable->mType->mSize; |
| 595 | |
| 596 | AddAutoStaticEntry(entry); |
| 597 | |
| 598 | variable->mInAutoStaticMap = true; |
| 599 | } |
| 600 | } |
| 601 | } |
| 602 | |
| 603 | void DebugTarget::GetAutoValueNames(DbgAutoValueMapType& outAutos, WdStackFrame* stackFrame, uint64 memoryRangeStart, uint64 memoryRangeLen) |
| 604 | { |
nothing calls this directly
no test coverage detected