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

Method Dbg_ObjectPreCustomDelete

BeefRT/dbg/DbgInternal.cpp:566–592  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

564}
565
566void Internal::Dbg_ObjectPreCustomDelete(bf::System::Object* object)
567{
568 BF_ASSERT((BFRTFLAGS & BfRtFlags_ObjectHasDebugFlags) != 0);
569
570 if ((object->mObjectFlags & BfObjectFlag_AppendAlloc) != 0)
571 return;
572
573 const char* errorPtr = NULL;
574
575 if ((object->mObjectFlags & BfObjectFlag_StackAlloc) != 0)
576 errorPtr = "Attempting to delete stack-allocated object";
577 if ((object->mObjectFlags & BfObjectFlag_Deleted) != 0)
578 errorPtr = "Attempting second delete on object";
579
580 if (errorPtr != NULL)
581 {
582 Beefy::String errorStr = errorPtr;
583
584 Beefy::String typeName = object->GetTypeName();
585 errorStr += "\x1";
586 errorStr += StrFormat("LEAK\t0x%@\n", object);
587 errorStr += StrFormat(" (%s)0x%@\n", typeName.c_str(), object);
588 SETUP_ERROR(errorStr.c_str(), 2);
589 BF_DEBUG_BREAK();
590 BFRTCALLBACKS.DebugMessageData_Fatal();
591 }
592}
593
594void* Internal::Dbg_RawAlloc(intptr size, DbgRawAllocData* rawAllocData)
595{

Callers

nothing calls this directly

Calls 2

GetTypeNameMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected