TrinityCore
Loading...
Searching...
No Matches
WheatyExceptionReport.cpp File Reference
#include "WheatyExceptionReport.h"
#include "Errors.h"
#include "GitRevision.h"
#include "Memory.h"
#include <algorithm>
#include <charconv>
#include <stdexcept>
#include <utility>
#include <comdef.h>
#include <ehdata.h>
#include <rttidata.h>
#include <tchar.h>
#include <tlhelp32.h>
#include <WbemIdl.h>
+ Include dependency graph for WheatyExceptionReport.cpp:

Go to the source code of this file.

Classes

struct  CSymbolInfoPackage
 

Macros

#define CrashFolder   _T("Crashes")
 
#define PRSTRc   "s"
 
#define PRSTRw   "S"
 
#define EXCEPTION(x)   case EXCEPTION_##x: return _T(#x);
 
#define REG_L(x)   ((BYTE)(((DWORD_PTR)(x)) & 0xff))
 
#define REG_H(x)   ((BYTE)((((DWORD_PTR)(x)) >> 8) & 0xff))
 
#define REG_X(x)   ((WORD)(((DWORD_PTR)(x)) & 0xffff))
 
#define REG_E(x)   ((DWORD)(((DWORD_PTR)(x)) & 0xffffffff))
 
#define REG_R(x)   ((DWORD64)(((DWORD_PTR)(x)) & 0xffffffffffffffff))
 
#define CPU_REG(reg, field, part)   case reg: return part(context->field)
 

Typedefs

template<std::derived_from< IUnknown > T>
using com_unique_ptr_deleter = decltype(Trinity::unique_ptr_deleter< T *,[](T *ptr) { ptr->Release()
 
template<std::derived_from< IUnknown > T>
using com_unique_ptr = std::unique_ptr< T, com_unique_ptr_deleter< T > >
 

Functions

LPTSTR ErrorMessage (DWORD dw)
 
template<size_t size>
void ToTchar (wchar_t const *src, TCHAR(&dst)[size])
 

Macro Definition Documentation

◆ CPU_REG

#define CPU_REG (   reg,
  field,
  part 
)    case reg: return part(context->field)

◆ CrashFolder

#define CrashFolder   _T("Crashes")

Definition at line 27 of file WheatyExceptionReport.cpp.

◆ EXCEPTION

#define EXCEPTION (   x)    case EXCEPTION_##x: return _T(#x);

◆ PRSTRc

#define PRSTRc   "s"

Definition at line 35 of file WheatyExceptionReport.cpp.

◆ PRSTRw

#define PRSTRw   "S"

Definition at line 36 of file WheatyExceptionReport.cpp.

◆ REG_E

#define REG_E (   x)    ((DWORD)(((DWORD_PTR)(x)) & 0xffffffff))

◆ REG_H

#define REG_H (   x)    ((BYTE)((((DWORD_PTR)(x)) >> 8) & 0xff))

◆ REG_L

#define REG_L (   x)    ((BYTE)(((DWORD_PTR)(x)) & 0xff))

◆ REG_R

#define REG_R (   x)    ((DWORD64)(((DWORD_PTR)(x)) & 0xffffffffffffffff))

◆ REG_X

#define REG_X (   x)    ((WORD)(((DWORD_PTR)(x)) & 0xffff))

Typedef Documentation

◆ com_unique_ptr

template<std::derived_from< IUnknown > T>
using com_unique_ptr = std::unique_ptr<T, com_unique_ptr_deleter<T> >

Definition at line 454 of file WheatyExceptionReport.cpp.

◆ com_unique_ptr_deleter

template<std::derived_from< IUnknown > T>
using com_unique_ptr_deleter = decltype(Trinity::unique_ptr_deleter<T*, [](T* ptr) { ptr->Release()

Definition at line 451 of file WheatyExceptionReport.cpp.

Function Documentation

◆ ErrorMessage()

LPTSTR ErrorMessage ( DWORD  dw)
inline

Definition at line 39 of file WheatyExceptionReport.cpp.

+ Here is the caller graph for this function:

◆ ToTchar()

template<size_t size>
void ToTchar ( wchar_t const *  src,
TCHAR(&)  dst[size] 
)

Definition at line 264 of file WheatyExceptionReport.cpp.

+ Here is the caller graph for this function: