summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authornijtmans <nijtmans>2010-12-01 10:43:36 (GMT)
committernijtmans <nijtmans>2010-12-01 10:43:36 (GMT)
commit627e4077fec79059bce211956e1fbbc3905fb8b6 (patch)
tree603616c2d1f25fe70b1e09b96db7a2fa29cb89ae /generic
parentb6d1219a7a9fcdb49db66a4217f34bd79ba40bba (diff)
downloadtcl-627e4077fec79059bce211956e1fbbc3905fb8b6.zip
tcl-627e4077fec79059bce211956e1fbbc3905fb8b6.tar.gz
tcl-627e4077fec79059bce211956e1fbbc3905fb8b6.tar.bz2
Allow Tcl_Panic() to enter the debugger on win32
Diffstat (limited to 'generic')
-rw-r--r--generic/tclCkalloc.c14
-rw-r--r--generic/tclPanic.c7
2 files changed, 9 insertions, 12 deletions
diff --git a/generic/tclCkalloc.c b/generic/tclCkalloc.c
index 872053b..dbd999e 100644
--- a/generic/tclCkalloc.c
+++ b/generic/tclCkalloc.c
@@ -14,7 +14,7 @@
*
* This code contributed by Karl Lehenbauer and Mark Diekhans
*
- * RCS: @(#) $Id: tclCkalloc.c,v 1.40 2010/11/08 09:02:50 ferrieux Exp $
+ * RCS: @(#) $Id: tclCkalloc.c,v 1.41 2010/12/01 10:43:36 nijtmans Exp $
*/
#include "tclInt.h"
@@ -453,11 +453,7 @@ Tcl_DbCkalloc(
if (break_on_malloc && (total_mallocs >= break_on_malloc)) {
break_on_malloc = 0;
(void) fflush(stdout);
- fprintf(stderr,"reached malloc break limit (%d)\n",
- total_mallocs);
- fprintf(stderr, "program will now enter C debugger\n");
- (void) fflush(stderr);
- abort();
+ Tcl_Panic("reached malloc break limit (%d)", total_mallocs);
}
current_malloc_packets++;
@@ -546,11 +542,7 @@ Tcl_AttemptDbCkalloc(
if (break_on_malloc && (total_mallocs >= break_on_malloc)) {
break_on_malloc = 0;
(void) fflush(stdout);
- fprintf(stderr,"reached malloc break limit (%d)\n",
- total_mallocs);
- fprintf(stderr, "program will now enter C debugger\n");
- (void) fflush(stderr);
- abort();
+ Tcl_Panic("reached malloc break limit (%d)", total_mallocs);
}
current_malloc_packets++;
diff --git a/generic/tclPanic.c b/generic/tclPanic.c
index b3a5ed6..9aa0627 100644
--- a/generic/tclPanic.c
+++ b/generic/tclPanic.c
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclPanic.c,v 1.14 2009/07/22 19:54:50 nijtmans Exp $
+ * RCS: @(#) $Id: tclPanic.c,v 1.15 2010/12/01 10:43:36 nijtmans Exp $
*/
#include "tclInt.h"
@@ -90,7 +90,12 @@ Tcl_PanicVA(
arg8);
fprintf(stderr, "\n");
fflush(stderr);
+#ifdef _WIN32
+ DebugBreak();
+ ExitProcess(1);
+#else
abort();
+#endif
}
}