Plasma Engine  2.0
Loading...
Searching...
No Matches
StackTracer.h
1#pragma once
2
3#include <Foundation/Basics.h>
4#include <Foundation/Configuration/Plugin.h>
5#include <Foundation/Types/Delegate.h>
6
8class PL_FOUNDATION_DLL plStackTracer
9{
10public:
16 static plUInt32 GetStackTrace(plArrayPtr<void*>& ref_trace, void* pContext = nullptr);
17
19 using PrintFunc = plDelegate<void(const char* szText)>;
20
22 static void ResolveStackTrace(const plArrayPtr<void*>& trace, PrintFunc printFunc);
23
25 static void PrintStackTrace(const plArrayPtr<void*>& trace, PrintFunc printFunc);
26
27private:
28 plStackTracer() = delete;
29
30 static void OnPluginEvent(const plPluginEvent& e);
31
32 PL_MAKE_SUBSYSTEM_STARTUP_FRIEND(Foundation, StackTracer);
33};
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
Helper class to capture the current stack and print a captured stack.
Definition StackTracer.h:9
A generic delegate class which supports static functions and member functions.
Definition Delegate.h:76
The data that is broadcast whenever a plugin is (un-) loaded.
Definition Plugin.h:11