|
Architecture-specific call-stack tracing routines. More...
Go to the source code of this file.
Typedefs | |
typedef std::function< std::string(uintptr_t address)> | ArchStackTraceCallback |
A callback to get a symbolic representation of an address. | |
typedef void(* | ArchCrashHandlerSystemCB) (void *userData) |
Callback for handling crashes. | |
Functions | |
ARCH_API void | ArchLogFatalProcessState (const char *reason, const char *message=nullptr, const char *extraLogMsg=nullptr) |
Dumps call-stack info to a file, prints a message to the terminal, and invokes crash handling script. | |
ARCH_API void | ArchLogCurrentProcessState (const char *reason, const char *message=nullptr, const char *extraLogMsg=nullptr) |
Dumps call-stack info to a file, and prints an informative message. | |
ARCH_API void | ArchSetProcessStateLogCommand (const char *command, const char *const argv[], const char *const fatalArgv[]) |
Sets command line that gets call-stack info and triggers crash handling script. | |
ARCH_API bool | ArchIsAppCrashing () |
Returns true if the fatal signal handler ArchLogFatalProcessState has been invoked. | |
ARCH_API void | ArchLogSessionInfo (const char *crashStackTrace=NULL) |
Log session info. | |
ARCH_API void | ArchSetLogSession (const char *command, const char *const argv[], const char *const crashArgv[]) |
Sets the command line to log sessions. | |
ARCH_API void | ArchEnableSessionLogging () |
Register the callback to invoke logging at end of a successful session. | |
ARCH_API void | ArchPrintStackTrace (FILE *fout, const std::string &programName, const std::string &reason) |
Print a stack trace to the given FILE pointer. | |
ARCH_API void | ArchPrintStackTrace (FILE *fout, const std::string &reason) |
Print a stack trace to the given FILE pointer. | |
ARCH_API void | ArchPrintStackTrace (std::ostream &out, const std::string &programName, const std::string &reason) |
Print a stack trace to the given ostream. | |
ARCH_API void | ArchPrintStackTrace (std::ostream &out, const std::string &reason) |
Print a stack trace to the given ostream. | |
ARCH_API void | ArchSetStackTraceCallback (const ArchStackTraceCallback &cb) |
Sets a callback to get a symbolic representation of an address. | |
ARCH_API void | ArchGetStackTraceCallback (ArchStackTraceCallback *cb) |
Returns the callback to get a symbolic representation of an address. | |
ARCH_API time_t | ArchGetAppLaunchTime () |
Returns the set value for the application's launch time. | |
ARCH_API void | ArchSetFatalStackLogging (bool flag) |
Enables or disables the automatic logging of crash information. | |
ARCH_API bool | ArchGetFatalStackLogging () |
Returns whether automatic logging of fatal crashes is enabled This is set to false by default. | |
ARCH_API void | ArchSetProgramNameForErrors (const char *progName) |
Sets the program name to be used in diagnostic output. | |
ARCH_API const char * | ArchGetProgramNameForErrors () |
Returns the currently set program name for reporting errors. | |
ARCH_API void | ArchSetProgramInfoForErrors (const std::string &key, const std::string &value) |
Sets additional program info to be reported to the terminal in case of a fatal error. | |
ARCH_API std::string | ArchGetProgramInfoForErrors (const std::string &key) |
Returns currently set program info. | |
ARCH_API void | ArchSetExtraLogInfoForErrors (const std::string &key, std::vector< std::string > const *lines) |
Stores (or removes if lines is nullptr) a pointer to additional log data that will be output in the stack trace log in case of a fatal error. | |
ARCH_API void | ArchLogStackTrace (const std::string &progName, const std::string &reason, bool fatal=false, const std::string &sessionLog="") |
Logs a stack trace to a file in /var/tmp. | |
ARCH_API void | ArchLogStackTrace (const std::string &reason, bool fatal=false, const std::string &sessionLog="") |
Logs a stack trace to a file in /var/tmp. | |
ARCH_API std::vector< std::string > | ArchGetStackTrace (size_t maxDepth) |
Return stack trace. | |
ARCH_API void | ArchGetStackFrames (size_t maxDepth, std::vector< uintptr_t > *frames) |
Save frames of current stack. | |
ARCH_API size_t | ArchGetStackFrames (size_t maxDepth, uintptr_t *frames) |
Store at most maxDepth frames of the current stack into frames . | |
ARCH_API void | ArchGetStackFrames (size_t maxDepth, size_t numFramesToSkipAtTop, std::vector< uintptr_t > *frames) |
Save frames of current stack. | |
ARCH_API size_t | ArchGetStackFrames (size_t maxDepth, size_t numFramesToSkipAtTop, uintptr_t *frames) |
Store at most maxDepth frames of the current stack into frames , skipping the first numFramesToSkipAtTop frames. | |
ARCH_API void | ArchPrintStackFrames (std::ostream &out, const std::vector< uintptr_t > &frames, bool skipUnknownFrames=false) |
Print stack frames to the given ostream. | |
ARCH_API int | ArchCrashHandlerSystemv (const char *pathname, char *const argv[], int timeout, ArchCrashHandlerSystemCB callback, void *userData) |
Replacement for 'system' safe for a crash handler. | |
Architecture-specific call-stack tracing routines.
Definition in file stackTrace.h.