Ignore:
Timestamp:
Sep 20, 2006, 2:59:15 PM (19 years ago)
Author:
seangies
Message:

Send debug messages to debugger console.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/wtf/Assertions.cpp

    r14256 r16484  
    3535#endif
    3636
     37#if PLATFORM(WIN)
     38#define WINVER 0x0500
     39#define _WIN32_WINNT 0x0500
     40#include <windows.h>
     41#endif
     42
    3743extern "C" {
    3844
     
    5965        CFRelease(cfFormat);
    6066    } else
     67#elif PLATFORM(WIN)
     68    if (IsDebuggerPresent())
     69    {
     70        size_t size = 1024;
     71
     72        do
     73        {
     74            char* buffer = (char*)malloc(size);
     75
     76            if (buffer == NULL)
     77                break;
     78
     79            if (_vsnprintf(buffer, size, format, args) != -1)
     80            {
     81                OutputDebugStringA(buffer);
     82                free(buffer);
     83                break;
     84            }
     85
     86            free(buffer);
     87            size *= 2;
     88        } while (size > 1024);
     89    } else
    6190#endif
    6291        vfprintf_no_warning(stderr, format, args);
     92}
     93
     94static void printf_stderr_common(const char * format, ...)
     95{
     96    va_list args;
     97    va_start(args, format);
     98    vprintf_stderr_common(format, args);
     99    va_end(args);
    63100}
    64101
     
    66103{
    67104    if (assertion)
    68         fprintf(stderr, "=================\nASSERTION FAILED: %s (%s:%d %s)\n=================\n", assertion, file, line, function);
     105        printf_stderr_common("=================\nASSERTION FAILED: %s (%s:%d %s)\n=================\n", assertion, file, line, function);
    69106    else
    70         fprintf(stderr, "=================\nSHOULD NEVER BE REACHED (%s:%d %s)\n=================\n", file, line, function);
     107        printf_stderr_common("=================\nSHOULD NEVER BE REACHED (%s:%d %s)\n=================\n", file, line, function);
    71108}
    72109
    73110void WTFReportAssertionFailureWithMessage(const char *file, int line, const char *function, const char *assertion, const char *format, ...)
    74111{
    75     fprintf(stderr, "=================\nASSERTION FAILED: ");
     112    printf_stderr_common("=================\nASSERTION FAILED: ");
    76113    va_list args;
    77114    va_start(args, format);
    78115    vprintf_stderr_common(format, args);
    79116    va_end(args);
    80     fprintf(stderr, "\n%s (%s:%d %s)\n=================\n", assertion, file, line, function);
     117    printf_stderr_common("\n%s (%s:%d %s)\n=================\n", assertion, file, line, function);
    81118}
    82119
    83120void WTFReportArgumentAssertionFailure(const char *file, int line, const char *function, const char *argName, const char *assertion)
    84121{
    85     fprintf(stderr, "=================\nARGUMENT BAD: %s, %s (%s:%d %s)\n=================\n", argName, assertion, file, line, function);
     122    printf_stderr_common("=================\nARGUMENT BAD: %s, %s (%s:%d %s)\n=================\n", argName, assertion, file, line, function);
    86123}
    87124
    88125void WTFReportFatalError(const char *file, int line, const char *function, const char *format, ...)
    89126{
    90     fprintf(stderr, "=================\nFATAL ERROR: ");
     127    printf_stderr_common("=================\nFATAL ERROR: ");
    91128    va_list args;
    92129    va_start(args, format);
    93130    vprintf_stderr_common(format, args);
    94131    va_end(args);
    95     fprintf(stderr, "\n(%s:%d %s)\n=================\n", file, line, function);
     132    printf_stderr_common("\n(%s:%d %s)\n=================\n", file, line, function);
    96133}
    97134
    98135void WTFReportError(const char *file, int line, const char *function, const char *format, ...)
    99136{
    100     fprintf(stderr, "=================\nERROR: ");
     137    printf_stderr_common("=================\nERROR: ");
    101138    va_list args;
    102139    va_start(args, format);
    103140    vprintf_stderr_common(format, args);
    104141    va_end(args);
    105     fprintf(stderr, "\n(%s:%d %s)\n=================\n", file, line, function);
     142    printf_stderr_common("\n(%s:%d %s)\n=================\n", file, line, function);
    106143}
    107144
     
    116153    va_end(args);
    117154    if (format[strlen(format) - 1] != '\n')
    118         putc('\n', stderr);
     155        printf_stderr_common("\n");
    119156}
    120157
Note: See TracChangeset for help on using the changeset viewer.