mirror of
https://github.com/php/php-src.git
synced 2026-04-26 01:18:19 +02:00
Report mem leaks to stderr if no Win debugger is present
Formerly, we sent output regarding memory leaks always to the debugger on Windows, but this appears to be not useful especially for the PHPTs, which usually are not run under a debugger, and so important info will not be available there.
This commit is contained in:
+15
-3
@@ -1681,7 +1681,11 @@ static ZEND_COLD void php_message_handler_for_zend(zend_long message, const void
|
||||
snprintf(memory_leak_buf, 512, "Last leak repeated %lu time%s\n", leak_count, (leak_count>1?"s":""));
|
||||
}
|
||||
# if defined(PHP_WIN32)
|
||||
OutputDebugString(memory_leak_buf);
|
||||
if (IsDebuggerPresent()) {
|
||||
OutputDebugString(memory_leak_buf);
|
||||
} else {
|
||||
fprintf(stderr, "%s", memory_leak_buf);
|
||||
}
|
||||
# else
|
||||
fprintf(stderr, "%s", memory_leak_buf);
|
||||
# endif
|
||||
@@ -1695,7 +1699,11 @@ static ZEND_COLD void php_message_handler_for_zend(zend_long message, const void
|
||||
|
||||
snprintf(memory_leak_buf, 512, "=== Total %d memory leaks detected ===\n", *((uint32_t *) data));
|
||||
# if defined(PHP_WIN32)
|
||||
OutputDebugString(memory_leak_buf);
|
||||
if (IsDebuggerPresent()) {
|
||||
OutputDebugString(memory_leak_buf);
|
||||
} else {
|
||||
fprintf(stderr, "%s", memory_leak_buf);
|
||||
}
|
||||
# else
|
||||
fprintf(stderr, "%s", memory_leak_buf);
|
||||
# endif
|
||||
@@ -1718,7 +1726,11 @@ static ZEND_COLD void php_message_handler_for_zend(zend_long message, const void
|
||||
snprintf(memory_leak_buf, sizeof(memory_leak_buf), "[null] Script: '%s'\n", SAFE_FILENAME(SG(request_info).path_translated));
|
||||
}
|
||||
# if defined(PHP_WIN32)
|
||||
OutputDebugString(memory_leak_buf);
|
||||
if (IsDebuggerPresent()) {
|
||||
OutputDebugString(memory_leak_buf);
|
||||
} else {
|
||||
fprintf(stderr, "%s", memory_leak_buf);
|
||||
}
|
||||
# else
|
||||
fprintf(stderr, "%s", memory_leak_buf);
|
||||
# endif
|
||||
|
||||
Reference in New Issue
Block a user