RCatalogsDebugHeap Class Reference

class RCatalogsDebugHeap : public RHeap

Debug heap implementation. Holds "global" data for debug printing, and has utilities for finding memory leaks.

Inherits from

Nested Classes and Structures

Public Member Functions
IMPORT_C TBool Activate ( TBool )
TAny * Alloc ( TInt )
TInt AllocLen (const TAny *)
TInt AllocSize ( TInt &)
TInt Available ( TInt &)
void ChunkOutput (const TDesC8 &, TUint )
TInt Compress ()
TInt DebugFunction ( TInt , TAny *, TAny *)
void Free ( TAny *)
IMPORT_C void InstallL ( TBool )
TBool IsEnabled ( TCatalogsDebug::TType )
TAny * ReAlloc ( TAny *, TInt , TInt )
void Reset ()
IMPORT_C void Uninstall ()
void operator delete ( TAny *)
TAny * operator new ( TUint )
Protected Member Functions
RCatalogsDebugHeap ( RHeap &, TBool )
~RCatalogsDebugHeap ()
TInt Extension_ ( TUint , TAny *&, TAny *)
Private Member Functions
void InitExtLogger ()
Inherited Functions
RAllocator::AllocL(TInt)
RAllocator::AllocLC(TInt)
RAllocator::AllocZ(TInt)
RAllocator::AllocZL(TInt)
RAllocator::Check()const
RAllocator::Close()
RAllocator::Count()const
RAllocator::Count(TInt &)const
RAllocator::DoClose()
RAllocator::FreeZ(TAny *&)
RAllocator::Open()
RAllocator::RAllocator()
RAllocator::ReAllocL(TAny *,TInt,TInt)
RAllocator::__DbgCheckFailure()
RAllocator::__DbgMarkCheck(TBool,TInt,const TDesC8 &,TInt)
RAllocator::__DbgMarkCheck(TBool,TInt,const TUint8 *,TInt)
RAllocator::__DbgMarkEnd(TInt)
RAllocator::__DbgMarkStart()
RAllocator::__DbgSetAllocFail(TAllocFail,TInt)
RAllocator::__DbgSetBurstAllocFail(TAllocFail,TUint,TUint)
RHeap::Align(TInt)const
RHeap::Align(const TAny *)const
RHeap::Base()const
RHeap::CheckCell(const SCell *)const
RHeap::CheckForSimulatedAllocFail()
RHeap::ChunkHandle()const
RHeap::DoAlloc(TInt,SCell *&)
RHeap::DoCheckHeap(SCheckInfo *)
RHeap::DoCountAllocFree(TInt &)
RHeap::DoFree(SCell *)
RHeap::DoMarkEnd(TInt)
RHeap::DoMarkStart()
RHeap::DoSetAllocFail(TAllocFail,TInt)
RHeap::DoSetAllocFail(TAllocFail,TInt,TUint)
RHeap::FindFollowingFreeCell(SCell *,SCell *&,SCell *&)
RHeap::GetAddress(const TAny *)const
RHeap::Initialise()
RHeap::IsLastCell(const SCell *)const
RHeap::Lock()const
RHeap::MaxLength()const
RHeap::RHeap()
RHeap::RHeap(TInt,TInt,TBool)
RHeap::RHeap(TInt,TInt,TInt,TInt,TInt,TInt,TBool)
RHeap::ReAllocImpl(TAny *,TInt,TInt)
RHeap::Reduce(SCell *)
RHeap::SetBrk(TInt)
RHeap::Size()const
RHeap::TryToGrowCell(SCell *,SCell *,SCell *,TInt)
RHeap::TryToGrowHeap(TInt,SCell *)
RHeap::Unlock()const
RHeap::Walk(TWalkFunc,TAny *)
RHeap::WalkCheckCell(TAny *,TCellType,TAny *,TInt)
RHeap::operator delete(TAny *,TAny *)
RHeap::operator new(TUint,TAny *)
Inherited Enumerations
RAllocator:@10
RAllocator:TAllocDebugOp
RAllocator:TAllocFail
RAllocator:TDbgHeapType
RAllocator:TFlags
RAllocator:TReAllocMode
RHeap:@11
RHeap:@12
RHeap:@13
RHeap:TCellType
RHeap:TDebugHeapId
RHeap:TDebugOp
RHeap:TDefaultShrinkRatios
Private Attributes
TBool iActive
TInt iAllocCounter
RArray < TAllocInfo > iAllocInfo
RHeap & iBaseHeap
RChunk iChunk
TInt iChunkIndex
RSemaphore iChunkWriteSemaphore
TBool iEnabled
TUint iFastCounterFrequency
RMsgQueue < TInt > iMsgQueue
RMutex iMutex
Inherited Attributes
RAllocator::iAccessCount
RAllocator::iCellCount
RAllocator::iFlags
RAllocator::iHandleCount
RAllocator::iHandles
RAllocator::iTotalAllocSize
RHeap::iAlign
RHeap::iAllocCount
RHeap::iBase
RHeap::iChunkHandle
RHeap::iFailAllocCount
RHeap::iFailRate
RHeap::iFailType
RHeap::iFailed
RHeap::iFree
RHeap::iGrowBy
RHeap::iLock
RHeap::iMaxLength
RHeap::iMinCell
RHeap::iMinLength
RHeap::iNestingLevel
RHeap::iOffset
RHeap::iPageSize
RHeap::iRand
RHeap::iTestData
RHeap::iTop

Constructor & Destructor Documentation

RCatalogsDebugHeap(RHeap &, TBool)

RCatalogsDebugHeap ( RHeap & aBaseHeap,
TBool aEnabled
) [protected]

Parameters

RHeap & aBaseHeap
TBool aEnabled

~RCatalogsDebugHeap()

~RCatalogsDebugHeap ( ) [protected]

Member Functions Documentation

Activate(TBool)

IMPORT_C TBool Activate ( TBool aActive ) [static]

Parameters

TBool aActive

Alloc(TInt)

TAny * Alloc ( TInt aSize ) [virtual]

Parameters

TInt aSize

AllocLen(const TAny *)

TInt AllocLen ( const TAny * aCell ) const [virtual]

Parameters

const TAny * aCell

AllocSize(TInt &)

TInt AllocSize ( TInt & aTotalAllocSize ) const [virtual]

Parameters

TInt & aTotalAllocSize

Available(TInt &)

TInt Available ( TInt & aBiggestBlock ) const [virtual]

Parameters

TInt & aBiggestBlock

ChunkOutput(const TDesC8 &, TUint)

void ChunkOutput ( const TDesC8 & aBuffer,
TUint aDeltaTime
)

Parameters

const TDesC8 & aBuffer
TUint aDeltaTime

Compress()

TInt Compress ( ) [virtual]

DebugFunction(TInt, TAny *, TAny *)

TInt DebugFunction ( TInt aFunc,
TAny * a1 = NULL,
TAny * a2 = NULL
) [virtual]

Parameters

TInt aFunc
TAny * a1 = NULL
TAny * a2 = NULL

Extension_(TUint, TAny *&, TAny *)

TInt Extension_ ( TUint aExtensionId,
TAny *& a0,
TAny * a1
) [protected, virtual]

Parameters

TUint aExtensionId
TAny *& a0
TAny * a1

Free(TAny *)

void Free ( TAny * aPtr ) [virtual]

Parameters

TAny * aPtr

InitExtLogger()

void InitExtLogger ( ) [private]

InstallL(TBool)

IMPORT_C void InstallL ( TBool aEnabled = EFalse ) [static]

Parameters

TBool aEnabled = EFalse

IsEnabled(TCatalogsDebug::TType)

TBool IsEnabled ( TCatalogsDebug::TType aPrintType )

Parameters

TCatalogsDebug::TType aPrintType

ReAlloc(TAny *, TInt, TInt)

TAny * ReAlloc ( TAny * aPtr,
TInt aSize,
TInt aMode = 0
) [virtual]

Parameters

TAny * aPtr
TInt aSize
TInt aMode = 0

Reset()

void Reset ( ) [virtual]

Uninstall()

IMPORT_C void Uninstall ( ) [static]

operator delete(TAny *)

void operator delete ( TAny * aPtr )

Parameters

TAny * aPtr

operator new(TUint)

TAny * operator new ( TUint aSize )

Parameters

TUint aSize

Member Data Documentation

TBool iActive

TBool iActive [private]

TInt iAllocCounter

TInt iAllocCounter [private]

RArray< TAllocInfo > iAllocInfo

RArray < TAllocInfo > iAllocInfo [private]

RHeap & iBaseHeap

RHeap & iBaseHeap [private]

RChunk iChunk

RChunk iChunk [private]

TInt iChunkIndex

TInt iChunkIndex [private]

RSemaphore iChunkWriteSemaphore

RSemaphore iChunkWriteSemaphore [private]

TBool iEnabled

TBool iEnabled [private]

TUint iFastCounterFrequency

TUint iFastCounterFrequency [private]

RMsgQueue< TInt > iMsgQueue

RMsgQueue < TInt > iMsgQueue [private]

RMutex iMutex

RMutex iMutex [private]