MemoryLeakIndicator
Lade ...
Suche ...
Keine Treffer
MilDebugNew.h-Dateireferenz

Header für überladenen new- und delete-operator. Mehr ...

#include <new>

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define DEBUG_NEW   new( __FILE__, __LINE__ )
 Neudefinition vom operator new.
 
#define new   DEBUG_NEW
 Neudefinition vom operator new.
 

Funktionen

void * debug_new (std::size_t size, const char *fileName, int line)
 
void * operator new (std::size_t size, const char *fileName, int line)
 
void * operator new[] (std::size_t size, const char *fileName, int line)
 
void debug_delete (void *ptr)
 
void operator delete (void *ptr)
 
void operator delete (void *, const char *, int)
 

Ausführliche Beschreibung

Header für überladenen new- und delete-operator.

Autor
Helmut Jakoby

Terms of License

This file is part of the MemoryLeakIndicator module.

MemoryLeakIndicator is free software:

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

GNU Affero General Public License Usage
You can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Please review the following information to ensure the GNU Affero General Public License requirements will be met: https://www.gnu.org/licenses/agpl-3.0.en.html .

Makro-Dokumentation

◆ DEBUG_NEW

#define DEBUG_NEW   new( __FILE__, __LINE__ )

Neudefinition vom operator new.

◆ new

#define new   DEBUG_NEW

Neudefinition vom operator new.

Dokumentation der Funktionen

◆ debug_delete()

void debug_delete ( void * ptr)

Übergebenes Objekt wird in der MemSpy::LeakMap deregistriert, wenn MemSpy::LeakMap instantiiert und dann aus dem Speicher entfernt.

Parameter
[in]ptrZeiger auf das zu löschende Objekt.

◆ debug_new()

void * debug_new ( std::size_t size,
const char * fileName,
int line )

Es wird ein Objekt instantiiert und in der MemSpy::LeakMap registriert, wenn MemSpy::LeakMap instantiiert ist. param[in] size Die Größe des zu instantiierenden Objekts. param[in] fileName Der Dateiname, in dem 'new' aufgerufen wurde. param[in] line Die Zeilennummer, in der 'new' aufgerufen wurde.

Rückgabe
Das neu instantiierte Objekt.

◆ operator delete() [1/2]

void operator delete ( void * ,
const char * ,
int  )

Dieser operator delete wird nicht aufgerufen, sondern soll folgende Warnung unterdrücken: warning C4291: "void * operator new(size_t,const char *,int)": Kein zugehöriger delete-Operator gefunden; Speicher wird nicht freigegeben, wenn die Initialisierung eine Ausnahme auslöst

◆ operator delete() [2/2]

void operator delete ( void * ptr)

Dieser operator delete löscht und deregistriert ein Objekt in der MemSpy::LeakMap, wenn MemSpy::LeakMap instantiiert.

Parameter
[in]ptrZeiger auf das zu löschende Objekt.

◆ operator new()

void * operator new ( std::size_t size,
const char * fileName,
int line )

Dieser operator new lässt über Funktion debug_new (...) ein neues Objekt in der MemSpy::LeakMap registrieren, wenn MemSpy::LeakMap instantiiert ist. param[in] size Die Größe des zu instantiierenden Objekts. param[in] fileName Der Dateiname, in dem 'new' aufgerufen wurde. param[in] line Die Zeilennummer, in der 'new' aufgerufen wurde.

Rückgabe
Das neu instantiierte Objekt.

◆ operator new[]()

void * operator new[] ( std::size_t size,
const char * fileName,
int line )