OpenTTD
Data Structures | Macros | Functions | Variables
debug.cpp File Reference

Handling of printing debug messages. More...

#include "stdafx.h"
#include <stdarg.h>
#include "console_func.h"
#include "debug.h"
#include "string_func.h"
#include "fileio_func.h"
#include "settings_type.h"
#include <time.h>
#include "network/network_admin.h"
#include "safeguards.h"

Go to the source code of this file.

Data Structures

struct  DebugLevel
 

Macros

#define DEBUG_LEVEL(x)   { #x, &_debug_##x##_level }
 

Functions

char * DumpDebugFacilityNames (char *buf, char *last)
 Dump the available debug facility names in the help text. More...
 
static void debug_print (const char *dbg, const char *buf)
 Internal function for outputting the debug line. More...
 
void CDECL debug (const char *dbg, const char *format,...)
 Output a debug line. More...
 
void SetDebugString (const char *s)
 Set debugging levels by parsing the text in s. More...
 
const char * GetDebugString ()
 Print out the current debug-level. More...
 
const char * GetLogPrefix ()
 Get the prefix for logs; if show_date_in_logs is enabled it returns the date, otherwise it returns nothing. More...
 

Variables

SOCKET _debug_socket = INVALID_SOCKET
 
int _debug_driver_level
 
int _debug_grf_level
 
int _debug_map_level
 
int _debug_misc_level
 
int _debug_net_level
 
int _debug_sprite_level
 
int _debug_oldloader_level
 
int _debug_npf_level
 
int _debug_yapf_level
 
int _debug_freetype_level
 
int _debug_script_level
 
int _debug_sl_level
 
int _debug_gamelog_level
 
int _debug_desync_level
 
int _debug_console_level
 
uint32 _realtime_tick = 0
 The real time in the game. More...
 
static const DebugLevel debug_level []
 

Detailed Description

Handling of printing debug messages.

Definition in file debug.cpp.

Function Documentation

◆ debug()

void CDECL debug ( const char *  dbg,
const char *  format,
  ... 
)

Output a debug line.

Note
Do not call directly, use the DEBUG macro instead.
Parameters
dbgDebug category.
formatText string a la printf, with optional arguments.

Definition at line 160 of file debug.cpp.

References debug_print(), lastof, and vseprintf().

◆ debug_print()

static void debug_print ( const char *  dbg,
const char *  buf 
)
static

Internal function for outputting the debug line.

Parameters
dbgDebug category.
bufText line to output.

Definition at line 110 of file debug.cpp.

Referenced by debug().

◆ DumpDebugFacilityNames()

char* DumpDebugFacilityNames ( char *  buf,
char *  last 
)

Dump the available debug facility names in the help text.

Parameters
bufStart address for storing the output.
lastLast valid address for storing the output.
Returns
Next free position in the output.

Definition at line 84 of file debug.cpp.

References endof, and strecpy().

◆ GetDebugString()

const char* GetDebugString ( )

Print out the current debug-level.

Just return a string with the values of all the debug categories.

Returns
string with debug-levels

Definition at line 233 of file debug.cpp.

◆ GetLogPrefix()

const char* GetLogPrefix ( )

Get the prefix for logs; if show_date_in_logs is enabled it returns the date, otherwise it returns nothing.

Returns
the prefix for logs (do not free), never NULL

Definition at line 256 of file debug.cpp.

References _settings_client, ClientSettings::gui, and GUISettings::show_date_in_logs.

◆ SetDebugString()

void SetDebugString ( const char *  s)

Set debugging levels by parsing the text in s.

For setting individual levels a string like "net=3,grf=6" should be used. If the string starts with a number, the number is used as global debugging level.

Parameters
sText describing the wanted debugging levels.

Definition at line 179 of file debug.cpp.

References endof, and ShowInfoF().

Variable Documentation

◆ _realtime_tick

uint32 _realtime_tick = 0

◆ debug_level

const DebugLevel debug_level[]
static
Initial value:
= {
DEBUG_LEVEL(driver),
DEBUG_LEVEL(grf),
DEBUG_LEVEL(map),
DEBUG_LEVEL(misc),
DEBUG_LEVEL(net),
DEBUG_LEVEL(sprite),
DEBUG_LEVEL(oldloader),
DEBUG_LEVEL(npf),
DEBUG_LEVEL(yapf),
DEBUG_LEVEL(freetype),
DEBUG_LEVEL(script),
DEBUG_LEVEL(sl),
DEBUG_LEVEL(gamelog),
DEBUG_LEVEL(desync),
DEBUG_LEVEL(console),
}

Definition at line 56 of file debug.cpp.