* _rtDebugFlag is supposed to default to true (is usually only used when
DEBUG is defined, anyway). This fixes bug #1892. * _debugPrintf() and _sPrintf() are supposed to be silent when _rtDebugFlag is false. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24243 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
c7c07366e0
commit
d401b8f030
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2006, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
* Copyright 2002-2008, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -54,6 +54,8 @@ static const debug_string_entry sDebugExceptionTypeStrings[] = {
|
|||||||
{ NULL, 0 }
|
{ NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bool _rtDebugFlag = true;
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
debugger(const char *message)
|
debugger(const char *message)
|
||||||
@ -180,14 +182,8 @@ get_debug_exception_string(debug_exception_type exception, char *buffer,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// #pragma mark -
|
// #pragma mark - Debug.h functions
|
||||||
// Debug.h functions
|
|
||||||
|
|
||||||
// TODO: verify these functions
|
|
||||||
// TODO: add implementations for printfs?
|
|
||||||
|
|
||||||
|
|
||||||
bool _rtDebugFlag = false;
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
_debugFlag(void)
|
_debugFlag(void)
|
||||||
@ -211,6 +207,9 @@ _debugPrintf(const char *fmt, ...)
|
|||||||
va_list ap;
|
va_list ap;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
if (!_rtDebugFlag)
|
||||||
|
return 0;
|
||||||
|
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
ret = vfprintf(stdout, fmt, ap);
|
ret = vfprintf(stdout, fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
@ -222,10 +221,13 @@ _debugPrintf(const char *fmt, ...)
|
|||||||
int
|
int
|
||||||
_sPrintf(const char *fmt, ...)
|
_sPrintf(const char *fmt, ...)
|
||||||
{
|
{
|
||||||
char buffer[1024];
|
char buffer[512];
|
||||||
va_list ap;
|
va_list ap;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
if (!_rtDebugFlag)
|
||||||
|
return 0;
|
||||||
|
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
ret = vsnprintf(buffer, sizeof(buffer), fmt, ap);
|
ret = vsnprintf(buffer, sizeof(buffer), fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
@ -238,7 +240,7 @@ _sPrintf(const char *fmt, ...)
|
|||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
_xdebugPrintf(const char * fmt, ...)
|
_xdebugPrintf(const char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
int ret;
|
int ret;
|
||||||
@ -252,14 +254,15 @@ _xdebugPrintf(const char * fmt, ...)
|
|||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
_debuggerAssert(const char * file, int line, char *message)
|
_debuggerAssert(const char *file, int line, char *message)
|
||||||
{
|
{
|
||||||
char buffer[1024];
|
char buffer[1024];
|
||||||
snprintf(buffer, sizeof(buffer),
|
snprintf(buffer, sizeof(buffer),
|
||||||
"Assert failed: File: %s, Line: %d, %s",
|
"Assert failed: File: %s, Line: %d, %s",
|
||||||
file, line, message);
|
file, line, message);
|
||||||
|
|
||||||
debug_printf("%ld: ASSERT: %s\n", find_thread(NULL), buffer);
|
debug_printf("%ld: ASSERT: %s:%d %s\n", find_thread(NULL), file, line,
|
||||||
|
buffer);
|
||||||
_kern_debugger(buffer);
|
_kern_debugger(buffer);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user