blob: a9aa1698d2b8a4650b63fb54196c4d65bd8e4d50 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: declarations to track allocations via replacing the global new operator
// some of this code was written by Paul Andre LeBlanc
// <[email protected]> I got it off of dejanews.com
// usage: new TRACKED object-type
//
// $Workfile: $
// $Date: $
//
//------------------------------------------------------------------------------------------------------
// $Log: $
//
// $NoKeywords: $
//=============================================================================//
#ifndef MEMDBG_H
#define MEMDBG_H
#ifdef WIN32
#pragma once
#endif
#ifdef _DEBUG
#ifdef _MEMDEBUG
#define _MDEBUG
#endif
#endif
#ifdef _MDEBUG
#define TRACKED (__FILE__, __LINE__)
#else
#define TRACKED
#endif
#ifdef _MDEBUG
void *operator new(size_t size, const char *file, const int line);
void *operator new[](size_t size, const char *file, const int line);
void operator delete(void *ptr, const char *file, const int line);
void operator delete[](void *ptr, const char *file, const int line);
//replacing global new for debugging purposes.
//these were written by me, wes cumberland, not paul andre leblanc
void* operator new(size_t size);
void* operator new[](size_t size);
void operator delete(void* v);
void operator delete[](void* v);
#endif
//leave this in, even for release build
int TFStats_win32_new_handler(size_t sz);
void TFStats_linux_new_handler(void);
void TFStats_setNewHandler();
#endif // MEMDBG_H
|