OpenTTD Source: src/debug.cpp File Reference

OpenTTD Source 1.11.0-RC1

Data Structures | Macros | Functions | Variables
debug.cpp File Reference
`#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
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

  dbg | Debug category.
  format | Text string a la printf, with optional arguments.

Definition at line 152 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

  dbg | Debug category.
  buf | Text line to output.

Definition at line 106 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

  buf | Start address for storing the output.
  last | Last valid address for storing the output.

Returns
  Next free position in the output.

Definition at line 82 of file debug.cpp.

## ◆ 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 224 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 nullptr

Definition at line 247 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

  s | Text describing the wanted debugging levels.

Definition at line 170 of file debug.cpp.

## Variable Documentation

## ◆ 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 54 of file debug.cpp.