2005-01-23 19:07:34 +01:00
|
|
|
#ifndef DEBUG_H__
|
|
|
|
#define DEBUG_H__
|
|
|
|
|
2004-08-02 15:47:38 +02:00
|
|
|
//
|
|
|
|
// logging
|
|
|
|
//
|
|
|
|
|
|
|
|
// output to the debugger (may take ~1 ms!)
|
|
|
|
extern void debug_out(const char* fmt, ...);
|
|
|
|
|
|
|
|
// log to memory buffer (fast)
|
|
|
|
#define MICROLOG debug_microlog
|
2005-01-23 19:07:34 +01:00
|
|
|
extern void debug_microlog(const wchar_t* fmt, ...);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const size_t DBG_SYMBOL_LEN = 1000;
|
|
|
|
const size_t DBG_FILE_LEN = 100;
|
|
|
|
|
|
|
|
extern void* debug_get_nth_caller(uint n);
|
|
|
|
|
2004-08-02 15:47:38 +02:00
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
// crash notification
|
|
|
|
//
|
|
|
|
|
|
|
|
// notify the user that an assertion failed.
|
|
|
|
// displays a stack trace with local variables on Windows.
|
|
|
|
// return values: 0 = continue; 1 = suppress; 2 = break
|
|
|
|
// .. or exits the program if the user so chooses.
|
|
|
|
extern int debug_assert_failed(const char* source_file, int line, const char* assert_expr);
|
|
|
|
|
2005-01-23 19:07:34 +01:00
|
|
|
extern int debug_write_crashlog(const char* file, const wchar_t* header, void* context);
|
|
|
|
|
2004-08-02 15:47:38 +02:00
|
|
|
|
|
|
|
|
2005-01-23 19:07:34 +01:00
|
|
|
extern void debug_check_heap(void);
|
2004-08-02 15:47:38 +02:00
|
|
|
|
2005-01-23 19:07:34 +01:00
|
|
|
extern void debug_break(void);
|
2004-08-02 15:47:38 +02:00
|
|
|
|
2005-01-23 19:07:34 +01:00
|
|
|
#endif // #ifndef DEBUG_H__
|