MCPcopy Create free account
hub / github.com/beefytech/Beef / RemoveTargetData

Method RemoveTargetData

IDEHelper/DebugTarget.cpp:2652–2733  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2650};
2651
2652void DebugTarget::RemoveTargetData()
2653{
2654 BP_ZONE("DebugTarget::RemoveTargetData");
2655
2656#ifdef _DEBUG
2657 DbgModule* problemModule = NULL;
2658
2659 int checkIdx = 0;
2660 for (DbgSymbol* headNode : mSymbolMap)
2661 {
2662 auto node = headNode;
2663 while (node != NULL)
2664 {
2665 checkIdx++;
2666
2667 auto next = node->mNext;
2668 if (node->mDbgModule->mDeleting)
2669 {
2670 problemModule = node->mDbgModule;
2671 //OutputDebugStrF("Should have been removed by DbgModule::RemoveTargetData %@ %s\n", node->mAddress, node->mName);
2672 BF_DBG_FATAL("Should have been removed by DbgModule::RemoveTargetData");
2673 mSymbolMap.Remove(node);
2674 }
2675 node = next;
2676 }
2677 }
2678
2679 if (problemModule != NULL)
2680 {
2681 problemModule->RemoveTargetData();
2682 }
2683
2684 for (DbgSubprogramMapEntry* headNode : mSubprogramMap)
2685 {
2686 auto node = headNode;
2687 while (node != NULL)
2688 {
2689 auto next = node->mNext;
2690 if (node->mEntry->mCompileUnit->mDbgModule->mDeleting)
2691 {
2692 //OutputDebugStrF("Should have been removed by DbgModule::RemoveTargetData %s\n", node->mEntry->mName);
2693 BF_DBG_FATAL("Should have been removed by DbgModule::RemoveTargetData");
2694 mSubprogramMap.Remove(node);
2695 }
2696 node = next;
2697 }
2698 }
2699
2700 for (DbgExceptionDirectoryEntry* exDirEntry : mExceptionDirectoryMap)
2701 {
2702 auto node = exDirEntry;
2703 while (node != NULL)
2704 {
2705 auto next = node->mNext;
2706 if (node->mDbgModule->mDeleting)
2707 {
2708 //BF_DBG_FATAL("Should have been removed by DbgModule::RemoveTargetData");
2709 mExceptionDirectoryMap.Remove(node);

Callers 2

UnloadDynMethod · 0.45
CleanupHotHeapMethod · 0.45

Calls 7

RemoveCondMethod · 0.80
RemoveMethod · 0.45
sizeMethod · 0.45
FinishMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected