Installs platform-specific signal / exception handlers to capture crash information.
More...
|
| | CrashHandler () |
| | Installs the platform crash handlers with no application callback.
|
| |
| | ~CrashHandler () |
| |
| | CrashHandler (CrashHandlerCallback callback) |
| | Installs the platform crash handlers and immediately registers callback.
|
| |
| void | RegisterCallback (CrashHandlerCallback callback) |
| | Registers (or replaces) the application callback.
|
| |
| void | AppendLine (const char *str) |
| | Appends str followed by a newline to the crash report buffer.
|
| |
| void | AppendStr (const char *str) |
| | Appends str (without a trailing newline) to the crash report buffer.
|
| |
| void | PrintCommon () |
| | Writes platform-agnostic crash header information (OS, build info, etc.) to the report buffer.
|
| |
| void | PrintRegisters (ucontext_t *ctx) |
| | Appends the values of the CPU registers from ctx to the crash report.
|
| |
| | Component (const std::string &name, std::shared_ptr< Context > context=nullptr) |
| | Constructs a Component with the given name.
|
| |
| virtual | ~Component () |
| |
| void | Init (const nlohmann::json &initArgs=nlohmann::json::object()) |
| | Performs one-time initialization of this component.
|
| |
| bool | IsInitialized () const |
| | Returns true once Init() (or MarkInitialized()) has completed successfully.
|
| |
| const std::string & | GetName () const |
| | Returns the name of this Component.
|
| |
| std::string | ToString () const |
| | Returns a human-readable string representation (e.g. "Name (id)").
|
| |
| std::string | ToTreeString (int depth=0) const |
| | Returns a human-readable tree representation of this component and its children.
|
| |
| | operator std::string () const |
| | Conversion operator to std::string; equivalent to ToString().
|
| |
| ParentComponentList & | GetParents () |
| | Returns a mutable reference to the parent list.
|
| |
| const ParentComponentList & | GetParents () const |
| | Returns a const reference to the parent list.
|
| |
| ComponentList & | GetChildren () |
| | Returns a mutable reference to the child list.
|
| |
| const ComponentList & | GetChildren () const |
| | Returns a const reference to the child list.
|
| |
| virtual std::shared_ptr< Component > | TryGetSharedComponent () noexcept |
| | Returns a shared_ptr to this Component when available, otherwise nullptr.
|
| |
| virtual std::shared_ptr< Component > | GetSharedComponent () |
| | Returns a shared_ptr to this Component via the correct enable_shared_from_this base.
|
| |
| template<typename T > |
| bool | HasInChildren () const |
| | Checks whether any descendant Component matches type T via BFS.
|
| |
| template<typename T > |
| std::shared_ptr< T > | GetFirstInChildren () const |
| | Returns the first descendant that matches type T via BFS.
|
| |
| template<typename T > |
| std::shared_ptr< std::vector< std::shared_ptr< T > > > | GetInChildren () const |
| | Returns all descendants that match type T via BFS.
|
| |
| template<typename T > |
| bool | HasInParents () const |
| | Checks whether any ancestor Component matches type T via BFS.
|
| |
| template<typename T > |
| std::shared_ptr< T > | GetFirstInParents () const |
| | Returns the first ancestor that matches type T via BFS.
|
| |
| template<typename T > |
| std::shared_ptr< std::vector< std::shared_ptr< T > > > | GetInParents () const |
| | Returns all ancestors that match type T via BFS.
|
| |
| | Part () |
| | Constructs a Part and assigns it a unique ID.
|
| |
| | Part (std::shared_ptr< Context > context) |
| | Constructs a Part with an explicit Context reference and unique ID.
|
| |
| virtual | ~Part ()=default |
| |
| uint64_t | GetId () const |
| | Returns the unique identifier for this Part.
|
| |
| bool | operator== (const Part &other) const |
| | Compares two Parts for equality by their unique IDs.
|
| |
| std::shared_ptr< Context > | GetContext () const |
| | Returns the Context this Part belongs to, or nullptr if unset.
|
| |
| void | SetContext (std::shared_ptr< Context > ctx) |
| | Sets the Context this Part belongs to.
|
| |
Installs platform-specific signal / exception handlers to capture crash information.
CrashHandler sets up OS-level handlers (POSIX signals on Linux, SEH on Windows) that fill a fixed-size text buffer with a human-readable crash report, then invoke any registered CrashHandlerCallback so the application can append game-specific state before the process exits.
Required Context children (looked up at crash time):
- Logger — if present, its underlying spdlog logger is flushed after the crash report is written to ensure log entries are not lost. It is optional; the crash handler functions correctly without it.
Obtain the instance from Context::GetChildren().GetFirst<CrashHandler>().