TrinityCore
Loading...
Searching...
No Matches
Errors.cpp File Reference

This file contains definitions of functions used for reporting critical application errors. More...

#include "Errors.h"
#include "StringFormat.h"
#include <thread>
#include <cstdarg>
#include <cstdio>
#include <cstring>
#include <Windows.h>
#include <intrin.h>
+ Include dependency graph for Errors.cpp:

Go to the source code of this file.

Namespaces

namespace  Trinity
 

Macros

#define Unreachable()   (__assume(false))
 
#define Crash(message)
 

Functions

void Trinity::Assert (char const *file, int line, char const *function, char const *message, std::string debugInfo) noexcept
 
void Trinity::Assert (char const *file, int line, char const *function, char const *message, std::string debugInfo, char const *format,...) noexcept
 
void Trinity::Fatal (char const *file, int line, char const *function, char const *message,...) noexcept
 
void Trinity::Error (char const *file, int line, char const *function, char const *message) noexcept
 
void Trinity::Warning (char const *file, int line, char const *function, char const *message) noexcept
 
void Trinity::Abort (char const *file, int line, char const *function) noexcept
 
void Trinity::Abort (char const *file, int line, char const *function, char const *message,...) noexcept
 
void Trinity::AbortHandler (int sigval) noexcept
 
std::string GetDebugInfo ()
 

Detailed Description

This file contains definitions of functions used for reporting critical application errors.

It is very important that (std::)abort is NEVER called in place of *((volatile int*)nullptr) = 0; Calling abort() on Windows does not invoke unhandled exception filters - a mechanism used by WheatyExceptionReport to log crashes. exit(1) calls here are for static analysis tools to indicate that calling functions defined in this file terminates the application.

Definition in file Errors.cpp.

Macro Definition Documentation

◆ Crash

#define Crash (   message)
Value:
ULONG_PTR execeptionArgs[] = { reinterpret_cast<ULONG_PTR>(strdup(message)), reinterpret_cast<ULONG_PTR>(_ReturnAddress()) }; \
RaiseException(EXCEPTION_ASSERTION_FAILURE, 0, 2, execeptionArgs); \
Unreachable()
#define EXCEPTION_ASSERTION_FAILURE
Definition Errors.h:64

Definition at line 45 of file Errors.cpp.

◆ Unreachable

#define Unreachable ( )    (__assume(false))

Definition at line 37 of file Errors.cpp.

Function Documentation

◆ GetDebugInfo()

std::string GetDebugInfo ( )

Definition at line 170 of file Errors.cpp.

+ Here is the caller graph for this function: