MemoryLeakIndicator
Lade ...
Suche ...
Keine Treffer
MemSpy-Namensbereichsreferenz

Klassen

class  LeakMap
 Klasse um vergessene Objekte im Speicher im Zugriff zu haben.
Inspiriert von Rainer Grimm und Mouaz Chamieh. Mehr ...
 
class  Trace
 Klasse, um eine TRACE-Ausgaben auch im Releas-Modus ins Ausgabefenster schreiben zu können.
Gefunden in http://blog.m-ri.de/index.php/2009/08/09/vs-tippstricks-einfache-ausgabe-mit-trace-auch-in-der-release-version/ Mehr ...
 

Typdefinitionen

typedef bool TbExceptionMode
 
typedef int TiOutput
 

Aufzählungen

enum  SeekMode { START , NEXT , CURRENT }
 

Funktionen

__mem_leak_indicator_export_dll MemSpy::LeakMapactivateMemoryMonitoring (MemSpy::TbExceptionMode bExceptionMode=MemSpy::THROW)
 
void __mem_leak_indicator_export_dll finishMemoryMonitoring (MemSpy::TiOutput iOutput=MemSpy::OUTPUT_CONSOLE)
 

Variablen

const TbExceptionMode NOTHROW = false
 
const TbExceptionMode THROW = true
 
const TiOutput OUTPUT_NON = 0
 
const TiOutput OUTPUT_CONSOLE = 1
 
const TiOutput OUTPUT_TRACE = 2
 

Dokumentation der benutzerdefinierten Typen

◆ TbExceptionMode

Typ um der Funktion MemSpy::activateMemoryMonitoring (...) mitzuteilen, ob bei einem Fehler eine Exception geworfen wird, oder nur eine 0 als Rückgabewert.

◆ TiOutput

typedef int MemSpy::TiOutput

Typ um Funktion MemSpy::finishMemoryMonitoring (...) mitzuteilen, ob die Ausgabe in der Konsole ausgegeben wird.

Dokumentation der Aufzählungstypen

◆ SeekMode

Zum itereieren durch LeakMap::m_ObjectList.

Aufzählungswerte
START 

Das erste Element ist gemeint.

NEXT 

Das nächste Element nach dem aktuellen Element ist gemeint.

CURRENT 

Das aktuelle Element ist gemeint.

Dokumentation der Funktionen

◆ activateMemoryMonitoring()

__mem_leak_indicator_export_dll MemSpy::LeakMap * MemSpy::activateMemoryMonitoring ( MemSpy::TbExceptionMode bExceptionMode = MemSpy::THROW)

Aktiviert die Speicherüberwachung und instantiiert die LeakMap.
Diese Funktion sollte in der main am Anfang vor dem Instantiieren von Objekten aufgerufen werden.

Parameter
[in]bExceptionModeSiehe MemSpy::NoThrow und MemSpy::Throw.
Rückgabe
Wenn bExceptionMode == MemSpy::NOTHROW, wird bei einem Fehler ein nullptr zurückgeliefert, ansonsten ein Zeiger auf die MemSpy::LeakMap.
Ausnahmebehandlung
Wenndiese Funktion nochmals aufgerufen wird, wird bei bExceptionMode == MemSpy::THROW ein std::range_error geworfen.
Achtung
Wenn ein Zeiger auf die MemSpy::LeakMap geliefert wird, darf die MemSpy::LeakMap nicht von der aufrufenden Instanz aus dem Speicher entfernt werden.
Dieses darf nur mit MemSpy::finishMemoryMonitoring (...), MemSpy::LeakMap::destroy() oder MemSpy::LeakMap::destroyAbsolutely() initiiert werden.

◆ finishMemoryMonitoring()

void __mem_leak_indicator_export_dll MemSpy::finishMemoryMonitoring ( MemSpy::TiOutput iOutput = MemSpy::OUTPUT_CONSOLE)

Beendet die Speicherüberwachung und entfernt die LeakMap aus dem Speicher.
Diese Funktion sollte in der main am Ende nach dem Instantiieren von Objekten aufgerufen werden, damit ggf. Informationen über Speicherlecks ausgegeben werden können.

Parameter
[in]iOutputSiehe MemSpy::OUTPUT_NON und MemSpy::OUTPUT_CONSOLE. Parameter können Oderverknüpft werden.

Variablen-Dokumentation

◆ NOTHROW

const TbExceptionMode MemSpy::NOTHROW = false

Funktion MemSpy::activateMemoryMonitoring (...) liefert bei einem Fehler eine 0 als Rückgabewert.

◆ OUTPUT_CONSOLE

const TiOutput MemSpy::OUTPUT_CONSOLE = 1

Funktion MemSpy::finishMemoryMonitoring (...) gibt ihre Informationen in der Konsole aus.

◆ OUTPUT_NON

const TiOutput MemSpy::OUTPUT_NON = 0

Funktion MemSpy::finishMemoryMonitoring (...) gibt nichts aus. Das kann sinnvoll sein, wenn eine Ausgabe in eine GUI-Fenster ausgegeben werden soll.

◆ OUTPUT_TRACE

const TiOutput MemSpy::OUTPUT_TRACE = 2

Funktion MemSpy::finishMemoryMonitoring (...) gibt ihre Informationen iim Ausgabefenster aus.

◆ THROW

const TbExceptionMode MemSpy::THROW = true

Funktion MemSpy::activateMemoryMonitoring (...) wirft bei einem Fehler eine std::range_error.