diff --git a/src/api/main.cpp b/src/api/main.cpp index 653dfd3e..fd68af4f 100644 --- a/src/api/main.cpp +++ b/src/api/main.cpp @@ -32,6 +32,10 @@ #include "Forwards.h" #include "SapphireAPI.h" +#include + +Sapphire::Common::Util::CrashHandler crashHandler; + Sapphire::Db::DbWorkerPool< Sapphire::Db::ZoneDbConnection > g_charaDb; Sapphire::Data::ExdDataGenerated g_exdDataGen; Sapphire::Network::SapphireAPI g_sapphireAPI; diff --git a/src/common/Util/CrashHandler.cpp b/src/common/Util/CrashHandler.cpp index 2dd61307..614496d7 100644 --- a/src/common/Util/CrashHandler.cpp +++ b/src/common/Util/CrashHandler.cpp @@ -65,6 +65,9 @@ void Util::CrashHandler::printStackTrace( unsigned int max_frames ) #ifndef _WIN32 + // used as is from: https://oroboro.com/stack-trace-on-crash/ + // only changes output slightly + void* addrlist[ max_frames + 1 ]; int addrlen = backtrace( addrlist, sizeof( addrlist ) / sizeof( void* ) ); diff --git a/src/lobby/mainLobbyServer.cpp b/src/lobby/mainLobbyServer.cpp index 54e1f9ff..957604c8 100644 --- a/src/lobby/mainLobbyServer.cpp +++ b/src/lobby/mainLobbyServer.cpp @@ -1,5 +1,9 @@ #include "ServerLobby.h" +#include + +Sapphire::Common::Util::CrashHandler crashHandler; + Sapphire::ServerLobby g_serverLobby( "lobby.ini" ); int main( int32_t argc, char* argv[] ) diff --git a/src/tools/exd_struct_test/main.cpp b/src/tools/exd_struct_test/main.cpp index 218f89af..b6da89bf 100644 --- a/src/tools/exd_struct_test/main.cpp +++ b/src/tools/exd_struct_test/main.cpp @@ -27,21 +27,11 @@ using namespace Sapphire; //const std::string datLocation( "/opt/sapphire_3_15_0/bin/sqpack" ); const std::string datLocation( "/mnt/c/Program Files (x86)/Steam/steamapps/common/FINAL FANTASY XIV Online/game/sqpack" ); -int shit() -{ - int* ptr = nullptr; - - *ptr = 1; -} - - int main() { Logger::init( "struct_test" ); - shit(); - Logger::info( "Setting up EXD data" ); if( !g_exdData.init( datLocation ) ) { diff --git a/src/world/mainGameServer.cpp b/src/world/mainGameServer.cpp index a0dcddac..6e4c1ceb 100644 --- a/src/world/mainGameServer.cpp +++ b/src/world/mainGameServer.cpp @@ -3,9 +3,13 @@ #include "ServerMgr.h" #include +#include + using namespace Sapphire; using namespace Sapphire::World; +Common::Util::CrashHandler crashHandler; + int main( int32_t argc, char* argv[] ) { auto pFramework = Sapphire::make_Framework();