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(), Vehicle::CancelReservation(), 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(), DrawString(), ErrorUnknownCallbackResult(), ExtractTar(), BaseSet< T, Tnum_files, Tsearch_in_tars >::FillSetDetails(), FinalisePriceBaseMultipliers(), CYapfBaseT< Types >::FindPath(), FS2OTTD(), ClientNetworkGameSocketHandler::GameLoop(), GenerateWorld(), GetDriveableTrackdirBits(), GetLanguageList(), GetRawSprite(), GfxLoadSprites(), grfmsg(), NetworkHTTPSocketHandler::HandleHeader(), HandleInvalidSpriteRequest(), NetworkGameSocketHandler::HandlePacket(), NetworkContentSocketHandler::HandlePacket(), NetworkAdminSocketHandler::HandlePacket(), NetworkUDPSocketHandler::HandleUDPPacket(), HouseGetVariable(), IConsoleAliasExec(), IConsoleCmdExec(), IndustryGetVariable(), InitFreeType(), 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(), NewsDisplayLoadConfig(), ObjectGetVariable(), VehicleListWindow::OnTick(), CompanyStationsWindow::OnTick(), OTTD2FS(), OTTDSHGetFolderPath(), MusicDriver_QtMidi::PlaySong(), MusicDriver_LibTimidity::PlaySong(), png_my_error(), png_my_warning(), PositionMainToolbar(), PositionNetworkChatWindow(), PositionNewsMessage(), PositionStatusbar(), ReadByteFromFile(), ReadSprite(), ReallyDoDrawString(), 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(), TownGetVariable(), TruncateString(), 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