Defines | Functions | Variables

# debug.h File Reference

Functions related to debugging. More...

Go to the source code of this file.

## Defines
#define | DEBUG(name, level,...) if ((level) == 0 || _debug_ ## name ## _level >= (level)) debug(#name, __VA_ARGS__)
| Output a line of debugging information.
#define | FILE_LINE __FILE__, __LINE__
#define | TIC()
#define | TOC(str, count)
## Functions
void CDECL | debug (const char *dbg, const char *format,...) WARN_FORMAT(2
void CDECL char * | DumpDebugFacilityNames (char *buf, char *last)
| Dump the available debug facility names in the help text.
void | SetDebugString (const char *s)
| Set debugging levels by parsing the text in s.
const char * | GetDebugString ()
| Print out the current debug-level.
uint64 | ottd_rdtsc ()
| Get the tick counter from the CPU (high precision timing).
void | ShowInfo (const char *str)
void CDECL | ShowInfoF (const char *str,...) WARN_FORMAT(1
void CDECL const char * | GetLogPrefix ()
| Get the prefix for logs; if show_date_in_logs is enabled it returns the date, otherwise it returns nothing.
## Variables
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
| The real time in the game.

## Detailed Description

Functions related to debugging.

Definition in file debug.h.

## Define Documentation

#define DEBUG | ( |  | name,
|  |  | level,
|  |  | ... |
| ) |  |  | if ((level) == 0 || _debug_ ## name ## _level >= (level)) debug(#name, __VA_ARGS__)

Output a line of debugging information.

Parameters:

  | name | Category
  | level | Debugging level, higher levels means more detailed information.

Definition at line 37 of file debug.h.

Referenced by _GenerateWorld(), TCPListenHandler< ServerNetworkGameSocketHandler, PACKET_SERVER_FULL, PACKET_SERVER_BANNED >::AcceptClient(), SmallSet< Tdir, items >::Add(), Squirrel::AddClassBegin(), TarScanner::AddFile(), BaseMedia< Tbase_set >::AddFile(), AfterLoadGame(), AllocateMap(), CompanyStationsWindow::BuildStationsList(), Squirrel::CallMethod(), ChangeWorkingDirectoryToExecutable(), CheckCaches(), CheckExternalFiles(), CheckForMissingSprites(), ClientNetworkGameSocketHandler::CloseConnection(), TCPListenHandler< ServerNetworkGameSocketHandler, PACKET_SERVER_FULL, PACKET_SERVER_BANNED >::CloseListeners(), CompactSpriteCache(), Squirrel::CompileError(), NetworkAddress::Connect(), ConnectLoopProc(), GameInfo::Constructor(), AIInfo::Constructor(), convert_from_fs(), convert_to_fs(), Squirrel::CreateClassInstanceVM(), OrderList::DebugCheckSanity(), DecodeSingleSprite(), DetermineBasePaths(), DeterminePaths(), ScriptInstance::Died(), DoAutosave(), DoCommandPInternal(), DoLoad(), DoSave(), TarScanner::DoScan(), DoScanNewGRFFiles(), Blitter_32bppSimple::DrawColourMappingRect(), Blitter_32bppAnim::DrawColourMappingRect(), ErrorUnknownCallbackResult(), ExtractTar(), BaseSet< T, Tnum_files, Tsearch_in_tars >::FillSetDetails(), FinalisePriceBaseMultipliers(), CYapfBaseT< Types >::FindPath(), FS2OTTD(), ClientNetworkGameSocketHandler::GameLoop(), GenerateWorld(), GetDriveableTrackdirBits(), StringParameters::GetInt64(), GetLanguageList(), GetRawSprite(), TownScopeResolver::GetVariable(), ScopeResolver::GetVariable(), RailTypeScopeResolver::GetVariable(), ObjectScopeResolver::GetVariable(), IndustryTileScopeResolver::GetVariable(), IndustriesScopeResolver::GetVariable(), HouseScopeResolver::GetVariable(), GenericScopeResolver::GetVariable(), CanalScopeResolver::GetVariable(), AirportTileScopeResolver::GetVariable(), GfxLoadSprites(), grfmsg(), NetworkHTTPSocketHandler::HandleHeader(), HandleInvalidSpriteRequest(), NetworkGameSocketHandler::HandlePacket(), NetworkContentSocketHandler::HandlePacket(), NetworkAdminSocketHandler::HandlePacket(), NetworkUDPSocketHandler::HandleUDPPacket(), IConsoleAliasExec(), IConsoleCmdExec(), InitQuickTimeIfNeeded(), IsGoodGRFConfigList(), IsHouseSpecValid(), TCPListenHandler< ServerNetworkGameSocketHandler, PACKET_SERVER_FULL, PACKET_SERVER_BANNED >::Listen(), ListenLoopProc(), LoadChunk(), ScriptInstance::LoadCompatibilityScripts(), LoadFreeTypeFont(), LoadFromHighScore(), LoadGrfFile(), LoadGrfFileIndexed(), LoadMovieForMIDIFile(), LoadNewGRF(), LoadNewGRFFile(), LoadNewGRFSound(), LoadOldVehicle(), VideoDriver_Win32::MainLoop(), VideoDriver_SDL::MainLoop(), VideoDriver_Dedicated::MainLoop(), MakePCXImage(), NetworkAdminCompanyInfo(), NetworkCheckRestartMap(), NetworkCoreInitialize(), NetworkFindBroadcastIPs(), NetworkGameListAddItem(), NetworkGameListRemoveItem(), NetworkHTTPSocketHandler::NetworkHTTPSocketHandler(), NetworkServerSendChat(), NetworkShutDown(), NetworkStartUp(), NetworkUDPAdvertiseThread(), NetworkUDPBroadCast(), NetworkUDPClose(), NetworkUDPInitialize(), NetworkUDPQueryMasterServer(), NetworkUDPRemoveAdvertiseThread(), NetworkUDPSearchGame(), NetworkUpdateClientInfo(), VehicleListWindow::OnTick(), CompanyStationsWindow::OnTick(), OTTD2FS(), OTTDSHGetFolderPath(), MusicDriver_QtMidi::PlaySong(), MusicDriver_LibTimidity::PlaySong(), png_my_error(), png_my_warning(), PositionMainToolbar(), PositionNetworkChatWindow(), PositionNewsMessage(), PositionStatusbar(), ReadByteFromFile(), ReadSprite(), NetworkHTTPSocketHandler::Receive(), ServerNetworkUDPSocketHandler::Receive_CLIENT_FIND_SERVER(), ServerNetworkUDPSocketHandler::Receive_CLIENT_GET_NEWGRFS(), MasterNetworkUDPSocketHandler::Receive_MASTER_ACK_REGISTER(), MasterNetworkUDPSocketHandler::Receive_MASTER_SESSION_KEY(), ClientNetworkGameSocketHandler::Receive_SERVER_CHECK_NEWGRFS(), ClientNetworkGameSocketHandler::Receive_SERVER_FRAME(), ClientNetworkGameSocketHandler::Receive_SERVER_MOVE(), ClientNetworkUDPSocketHandler::Receive_SERVER_NEWGRFS(), ClientNetworkGameSocketHandler::Receive_SERVER_QUIT(), ClientNetworkUDPSocketHandler::Receive_SERVER_RESPONSE(), NetworkUDPSocketHandler::ReceiveInvalidPacket(), NetworkGameSocketHandler::ReceiveInvalidPacket(), NetworkContentSocketHandler::ReceiveInvalidPacket(), NetworkAdminSocketHandler::ReceiveInvalidPacket(), NetworkTCPSocketHandler::ReceivePacket(), NetworkUDPSocketHandler::ReceivePackets(), ScriptScanner::RegisterScript(), SquirrelStd::require(), AI::ResetConfig(), NetworkAddress::Resolve(), SafeLoad(), SaveFileToDisk(), SaveOrLoad(), SaveToHighScore(), BlitterFactoryBase::SelectBlitter(), DriverFactoryBase::SelectDriver(), AIScannerInfo::SelectRandomAI(), ServerNetworkAdminSocketHandler::Send(), NetworkGameSocketHandler::SendCommand(), ServerNetworkGameSocketHandler::SendError(), ServerNetworkAdminSocketHandler::SendError(), NetworkUDPSocketHandler::SendPacket(), NetworkTCPSocketHandler::SendPackets(), SetFallbackFont(), SetMIDITypeIfNeeded(), MusicDriver_QtMidi::SetVolume(), MusicDriver_ExtMidi::SetVolume(), ShowNewGrfVehicleError(), SlFixPointers(), SlIterateArray(), SlLoadCheckChunks(), SlLoadChunks(), SlNullPointers(), SlSaveChunk(), SlString(), VideoDriver_Win32::Start(), VideoDriver_SDL::Start(), VideoDriver_Null::Start(), VideoDriver_Dedicated::Start(), MusicDriver_LibTimidity::Start(), MusicDriver_QtMidi::Stop(), MusicDriver_QtMidi::StopSong(), strecpy(), TTDPStringIDToOTTDStringIDMapping(), WarnCorruptSprite(), Backup< T >::~Backup(), and ServerNetworkAdminSocketHandler::~ServerNetworkAdminSocketHandler().

#define TIC | ( |  | ) |

Value:

    {\
      uint64 _xxx_ = ottd_rdtsc();\
      static uint64 __sum__ = 0;\
      static uint32 __i__ = 0;

Definition at line 95 of file debug.h.

#define TOC | ( |  | str,
|  |  | count |
| ) |  |  |

Value:

    __sum__ += ottd_rdtsc() - _xxx_;\
      if (++__i__ == count) {\
        DEBUG(misc, 0, "[%s] " OTTD_PRINTF64 " [avg: %.1f]", str, __sum__, __sum__/(double)__i__);\
        __i__ = 0;\
        __sum__ = 0;\
      }\
    }

Definition at line 100 of file debug.h.

## Function Documentation

void CDECL 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.

References endof, and strecpy().

Referenced by ShowHelp().

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 228 of file debug.cpp.

References endof, lastof, and strecat().

void CDECL 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 251 of file debug.cpp.

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

Referenced by debug_print(), and IConsolePrint().

uint64 ottd_rdtsc | ( |  | ) |

Get the tick counter from the CPU (high precision timing).

Returns:
  The count.

Definition at line 75 of file os_timer.cpp.

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 174 of file debug.cpp.

References endof, and ShowInfoF().

## Variable Documentation

uint32 _realtime_tick

The real time in the game.

Definition at line 46 of file debug.cpp.

Referenced by GRFFileScanner::AddFile(), ClientNetworkGameSocketHandler::CheckConnection(), ClientNetworkContentSocketHandler::Connect(), DrawDirtyBlocks(), HandleMouseEvents(), NetworkGameSocketHandler::HandlePacket(), VideoDriver_Win32::MainLoop(), VideoDriver_SDL::MainLoop(), VideoDriver_Dedicated::MainLoop(), NetworkAddChatMessage(), NetworkChatMessageLoop(), NetworkGameSocketHandler::NetworkGameSocketHandler(), NetworkServer_Tick(), ClientNetworkGameSocketHandler::Receive_SERVER_MAP_DONE(), ServerNetworkAdminSocketHandler::Send(), ClientNetworkContentSocketHandler::SendReceive(), and ServerNetworkAdminSocketHandler::ServerNetworkAdminSocketHandler().