From 6543d62a6d41d62071cac9434e6ba6c2ce875e8a Mon Sep 17 00:00:00 2001 From: Zack Middleton Date: Thu, 8 Dec 2011 22:25:25 +0000 Subject: Show file/line/label in Com_Error messages when run out of memory in debug build. --- src/qcommon/common.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/qcommon/common.c b/src/qcommon/common.c index c2d5d353..b35019a4 100644 --- a/src/qcommon/common.c +++ b/src/qcommon/common.c @@ -962,12 +962,16 @@ void *Z_TagMalloc( int size, int tag ) { do { if (rover == start) { + // scaned all the way around the list #ifdef ZONE_DEBUG Z_LogHeap(); -#endif - // scaned all the way around the list - Com_Error( ERR_FATAL, "Z_Malloc: failed on allocation of %i bytes from the %s zone", + + Com_Error(ERR_FATAL, "Z_Malloc: failed on allocation of %i bytes from the %s zone: %s, line: %d (%s)", + size, zone == smallzone ? "small" : "main", file, line, label); +#else + Com_Error(ERR_FATAL, "Z_Malloc: failed on allocation of %i bytes from the %s zone", size, zone == smallzone ? "small" : "main"); +#endif return NULL; } if (rover->tag) { @@ -1720,8 +1724,11 @@ void *Hunk_Alloc( int size, ha_pref preference ) { #ifdef HUNK_DEBUG Hunk_Log(); Hunk_SmallLog(); + + Com_Error(ERR_DROP, "Hunk_Alloc failed on %i: %s, line: %d (%s)", size, file, line, label); +#else + Com_Error(ERR_DROP, "Hunk_Alloc failed on %i", size); #endif - Com_Error( ERR_DROP, "Hunk_Alloc failed on %i", size ); } if ( hunk_permanent == &hunk_low ) { -- cgit