aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Debugging
AgeCommit message (Collapse)Author
2015-08-21Core/Build: Merge common library and move database out of sharedStormBytePP
2015-08-16Merge pull request #15297 from StormBytePP/3.3.5_rename_Revision.hjackpoz
Core/Build: Renamed Revision.h to GitRevision.h to avoid compile failure when old revision.h file is present (cherry picked from commit 360cc93357d1b51258986e547ac29dddac20159c) Conflicts: src/server/authserver/Main.cpp src/server/database/Updater/DBUpdater.cpp src/server/game/Entities/Player/Player.cpp src/server/game/World/World.cpp src/server/shared/PrecompiledHeaders/sharedPCH.h src/server/worldserver/Main.cpp
2015-08-16Core/Build: Removed obsolete SystemConfig.h and made genrev be part of ↵StormBytePP
shared library, which allows cache hits to happen more likely (cherry picked from commit 94f69fb1bcef103392ca27074ebb31ef2ebd27fb)
2015-07-23Fix non pch build for Visual Studio 2015 compilerVincent-Michael
2015-07-21Core/Misc: Fixing warnings detected by Visual Studio 2015 compilerShauren
2015-06-26Core/CrashHandler: Make crashhandler tread-safejackpoz
Handle only 1 exception in the whole process lifetime and create only 1 crash report. (cherry picked from commit 1a5051a9c3b8246e92543962c04c3883c4d03f5f)
2015-06-01Core/CrashHandler: Log STACK_OVERFLOW crashesjackpoz
Try to log STACK_OVERFLOW crashes by allocating log buffer on the heap which should still be in a valid state with a stack overflow exception. This will probably still not produce a complete crash report with details about all stackframes. (cherry picked from commit ec4b08e3cf79cfb5fe99a542bd53bac9560e0d92)
2015-03-18Core/CrashHandler: Fix char[] without '\0' handlingjackpoz
Fix char[] without a NULL character '\0' in the array reading over the char[] bounds (cherry picked from commit fd844e3d7e18212d6e8dd6531eac1f198527926b)
2015-01-30Core/Misc: Fix static analysis issuesjackpoz
Fix some static analysis issues reported by Coverity
2015-01-01Update copyright note for 2015Vincent-Michael
Happy new year
2014-09-27Fixed GCC buildShauren
2014-09-26Core/Debugging: Extended ASSERT macro to allow passing additional formatted ↵Shauren
string
2014-09-19Oops.DDuarte
2014-09-19Core/Misc: Multiple static analysis issues fixed (small optimizations and ↵DDuarte
clear code)
2014-07-20Fixed gcc build without pchShauren
2014-07-17Buildsystem/MSVC: Warning fixesShauren
C4800 'type' : forcing value to bool 'true' or 'false' (performance warning) C4127 conditional expression is constant
2014-07-01Replaced all remaining ACE based Singletonsleak
Replaced ACE base AutoPtr class with shared_ptr Note: worldserver currently broken due to MapUpdater threading failure (ACE ofc, what else could it be)
2014-06-24Core/Misc: Fixed warningsShauren
2014-06-15Core: Kill again whitespace :/Vincent-Michael
2014-06-15Shared/Misc: Improve Windows crash reportjackpoz
Improve WheatyExceptionReport Windows crash report to write a cleaner and more readable crash report, in particular: - Fix missing variable Type in some cases - Fix missing variable Name in some cases - Properly format each member to avoid confusion when reading the log - Add support for double pointers, e.g. Type** - Add initial support for arrays, logging the number of elements and the first 10 elements for now. UDT members of array elements are not supported yet - Skip static members, SymTagVTable and other not needed types - Skip SymTagUDT with no children - Fix possible stack overflows when logging strings/char*/char[] values. - Fix "punting on symbol" error happening when trying to dereference bad pointers. - Fix <user defined> type being logged instead of the correct type when reaching WER_MAX_NESTING_LEVEL or with pointer types with invalid addresses.
2014-06-07Core/Misc: Kill Whitespace ...Vincent-Michael
2014-04-08Core/CrashHandler: Log GetLastError() id if no description is foundjackpoz
Log the System Error id returned by GetLastError() in case FormatMessage() doesn't find a proper description for that message.
2014-04-05Core/CrashHandler: Add more informations about localsjackpoz
Handle BasicType btChar and custom type std::basic_string<char,std::char_traits<char>,std::allocator<char> > (std::string). This allows WheatyExceptionReport to log the text stored in char*, char[] and std::string.
2014-02-06Core/CrashHandler: Add more informations about localsjackpoz
Handle SymTagData with inner type of SymTagPointerType. Increase buffer sizes to avoid buffer overflows. Avoid infinite loops by logging the children of each type only once. Avoid too deep nesting by adding a max nesting level. Print the address for arrays instead of just the name.
2014-01-23Core/CrashHandler: Add more informations about localsjackpoz
Log "NULL" for NULL pointers. Log the correct type instead of <user defined> for pointers and log its fields recursively. Log locals of all threads. Log the address if retrieving the value threw an exception. Increase buffer sizes to avoid buffer overflows.
2014-01-19CoreCore/CrashHandler: Handle CRT asserts in Windows buildjackpoz
Handle CRT asserts in Windows crash handler instead of popping up a Abort/Retry/Ignore window
2014-01-19Core/CrashHandler: Fix issues on Windows crash handlerjackpoz
Fix few issues on WheatyExceptionReport: - fix NULL dereference exception in GetLogicalAddress() when TC assert in triggered ( *((volatile int*)NULL) = 0; ) - fix infinite loop in DumpTypeIndex() when dumping std types like std::string - fix FormatSymbolValue() pointing to wrong address when accessing local variable values - use portable types instead of x86 specific types, this fixes some wrong address issues on x86 platform - use bigger buffers to format symbols to avoid buffer overflows
2014-01-01Update copyright note for 2014.Vincent_Michael
Happy new year.
2013-09-02Auth/Misc: Code cleanup.Chaplain
*Random performance optimizations
2013-05-21Core/Misc: Remove trailing whitespace, compile warnings and minor cosmetic ↵Spp
changes
2013-05-16Core: Fix compiler warningsNay
2013-05-13Core/Debugging: Marked assert functions as non returningShauren
2013-03-26Core/Misc: Remove the use of logging system from WPFatal (Fixes tools compile)Spp
Closes #9501
2013-03-25Core/Misc: Minor optimizations (+code changes to reduce differences with ↵Spp
4.3.4 branch) Core/Logging: Create new logger type "Cheat". Will be used to log all cheat attempts
2013-03-09Core: Fix warnings for msvcVincent_Michael
2013-03-09Buildsystem: Add support for compiling with MinGW on WindowsNay
Tested with: - Windows 8 x64 - MySQL 5.5.30 win32 - OpenSSL 1.0.1c (32 bits) - No PCH - MinGW with GCC 4.7.0 TODO: - Fix compile/link with PCH enabled - Fix compile with WheatyExceptonionReport enabled (ignored for now) - Fix compile of .rc files (ignored for now) - Test with more platforms
2013-02-03Core/Debugging: Made WheatyExceptionReport::_GetWindowsVersion code more ↵Shauren
readable and added check for Windows Server 2012
2013-02-03Update WheatyExceptionReport to print Windows 8Regigicas
2013-01-22Tools/Extractors: Mmap extractors no longer depend on shared and MySQL librariesShauren
2013-01-01Update copyright note for 2013.Vincent_Michael
Happy new year.
2012-11-27Core/Misc: Set mode 0644 for filesSpp
2012-09-04Properly fixed one warningShauren
2012-09-04Core: Warning fixesShauren
C4100: 'x' : unreferenced formal parameter C4310: cast truncates constant value C4389: '==' : signed/unsigned mismatch C4668: 'x' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif' C4701: potentially uninitialized local variable 'x' used C4826: Conversion from 'HMODULE' to 'DWORD64' is sign-extended. This may cause unexpected runtime behavior. C6067: Parameter '3' in call to 'sprintf' must be the address of the string C6387: 'argument 1' might be '0': this does not adhere to the specification for the function 'CloseHandle'
2012-08-03Core/Logging: Add Asyncronous logging with Loggers ("What to log") and ↵Spp
Appenders ("Where to log") system. Will allow to select to full log some parts of core while others are not even logged. - Logging System is asyncronous to improve performance. - Each msg and Logger has a Log Type and Log Level assigned. Each msg is assigned the Logger of same Log Type or "root" Logger is selected if there is no Logger configured for the given Log Type - Loggers have a list of Appenders to send the msg to. The Msg in the Logger is not sent to Appenders if the msg LogLevel is lower than Logger LogLevel. - There are three (at the moment) types of Appenders: Console, File or DB (this is WIP, not working ATM). Msg is not written to the resource if msg LogLevel is lower than Appender LogLevel. - Appender and Console Log levels can be changed while server is active with command '.set loglevel (a/l) name level' Explanation of use with Sample config: Appender.Console.Type=1 (1 = Console) Appender.Console.Level=2 (2 = Debug) Appender.Server.Type=2 (2 = File) Appender.Server.Level=3 (3 = Info) Appender.Server.File=Server.log Appender.SQL.Type=2 (2 = File) Appender.SQL.Level=1 (1 = Trace) Appender.SQL.File=sql.log Appenders=Console Server (NOTE: SQL has not been included here... that will make core ignore the config for "SQL" as it's not in this list) Logger.root.Type=0 (0 = Default - if it's not created by config, server will create it with LogLevel = DISABLED) Logger.root.Level=5 (5 = Error) Logger.root.Appenders=Console Logger.SQL.Type=26 (26 = SQL) Logger.SQL.Level=3 (2 = Debug) Logger.SQL.Appenders=Console Server SQL Logger.SomeRandomName.Type=24 (24 = Guild) Logger.SomeRandomName.Level=5 (5 = Error) Loggers=root SQL SomeRandomName * At loading Appender SQL will be ignored, as it's not present on "Appenders" * sLog->outDebug(LOG_FILTER_GUILD, "Some log msg related to Guilds") - Msg is sent to Logger of Type LOG_FILTER_GUILD (24). Logger with name SomeRandomName is found but it's LogLevel = 5 and Msg LogLevel=2... Msg is not logged * sLog->outError(LOG_FILTER_GUILD, "Some error log msg related to Guilds") - Msg is sent to Logger of Type LOG_FILTER_GUILD (24). Logger with name SomeRandomeName is found with proper LogLevel but Logger does not have any Appenders assigned to that logger... Msg is not logged * sLog->outDebug(LOG_FILTER_SQL, "Some msg related to SQLs") - Msg is sent to Logger SQL (matches type), as it matches LogLevel the msg is sent to Appenders Console, Server and SQL - Appender Console has lower Log Level: Msg is logged to Console - Appender Server has higher Log Level: Msg is not logged to file - Appender SQL has lower Log Level: Msg is logged to file sql.log * sLog->outDebug(LOG_FILTER_BATTLEGROUND, "Some msg related to Battelgrounds") - Msg is sent to Logger root (Type 0) as no Logger was found with Type LOG_FILTER_BATTLEGROUND (13). As Logger has higher LogLevel msg is not sent to any appender * sLog->outError(LOG_FILTER_BATTLEGROUND, "Some error msg related to Battelgrounds") - Msg is sent to Logger root (Type 0) as no Logger was found with Type LOG_FILTER_BATTLEGROUND (13). Msg has lower LogLevel and is sent to Appender Console - Appender Console has lower LogLevel: Msg is logged to Console
2012-05-12Core: Tweaked ASSERT macro a bit - removed library assert as on Windows ↵Shauren
platforms it calls abort() and does not generaty crash dump files.
2012-04-21Core/Errors: Improved OS detection for windows crash reportingShauren
2012-01-01Update headers for 2012. HAPPY NEW YEAR!!!kiper
2011-12-13Core/DBLayer: Terminate process if table/database structure is not ↵Machiavelli
compatible with the core. This will significantly reduce the amount of PEBCAK help and support threads on our forums. Also added a 10 second window to WPFatal for users who never heard of command line before to read the error prior to process termination.
2011-09-29Cosmetic: Multiple cosmetic changesSpp
- Added missing space to 'if', 'for', 'while' and 'switch' when it's followed by '(' - Added missing space after a comma and remove space before comma (with some exceptions) - Remove trailing spaces - Convert tab to spaces Note: Only affects files with extension "cpp" and "h" under /src/server
2011-04-29Add spaces after commasleak