24 #ifndef PXR_BASE_ARCH_STACK_TRACE_H
25 #define PXR_BASE_ARCH_STACK_TRACE_H
70 const char* extraLogMsg =
nullptr);
91 const char* extraLogMsg =
nullptr);
116 const char *
const argv[],
117 const char*
const fatalArgv[]);
155 const char*
const argv[],
156 const char*
const crashArgv[]);
255 std::vector<std::string>
const *lines);
316 std::vector<uintptr_t> *frames);
329 const std::vector<uintptr_t> &frames,
330 bool skipUnknownFrames =
false);
354 #if defined(ARCH_OS_DARWIN)
359 #define ETIME ECANCELED
361 #endif // end ARCH_OS_DARWIN
367 #endif // PXR_BASE_ARCH_STACK_TRACE_H
std::function< std::string(uintptr_t address)> ArchStackTraceCallback
A callback to get a symbolic representation of an address.
GLuint GLsizei const GLchar * message
ARCH_API void ArchSetProcessStateLogCommand(const char *command, const char *const argv[], const char *const fatalArgv[])
ARCH_API void ArchGetStackFrames(size_t maxDepth, std::vector< uintptr_t > *frames)
ARCH_API int ArchCrashHandlerSystemv(const char *pathname, char *const argv[], int timeout, ArchCrashHandlerSystemCB callback, void *userData)
GLsizei const GLchar *const * string
ARCH_API void ArchLogFatalProcessState(const char *reason, const char *message=nullptr, const char *extraLogMsg=nullptr)
fallback_uintptr uintptr_t
ARCH_API bool ArchIsAppCrashing()
ARCH_API void ArchSetProgramNameForErrors(const char *progName)
ARCH_API void ArchLogSessionInfo(const char *crashStackTrace=NULL)
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 ArchLogStackTrace(const std::string &progName, const std::string &reason, bool fatal=false, const std::string &sessionLog="")
ARCH_API void ArchSetLogSession(const char *command, const char *const argv[], const char *const crashArgv[])
GLbitfield GLuint64 timeout
ARCH_API void ArchLogCurrentProcessState(const char *reason, const char *message=nullptr, const char *extraLogMsg=nullptr)
ARCH_API void ArchGetStackTraceCallback(ArchStackTraceCallback *cb)
ARCH_API void ArchSetStackTraceCallback(const ArchStackTraceCallback &cb)
ARCH_API const char * ArchGetProgramNameForErrors()
ARCH_API bool ArchGetFatalStackLogging()
ARCH_API void ArchSetProgramInfoForErrors(const std::string &key, const std::string &value)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
ARCH_API void ArchPrintStackFrames(std::ostream &out, const std::vector< uintptr_t > &frames, bool skipUnknownFrames=false)
Print stack frames to the given ostream.
#define PXR_NAMESPACE_CLOSE_SCOPE
void(* ArchCrashHandlerSystemCB)(void *userData)
ARCH_API void ArchSetExtraLogInfoForErrors(const std::string &key, std::vector< std::string > const *lines)
ARCH_API std::vector< std::string > ArchGetStackTrace(size_t maxDepth)
ARCH_API time_t ArchGetAppLaunchTime()
ARCH_API void ArchEnableSessionLogging()
ARCH_API std::string ArchGetProgramInfoForErrors(const std::string &key)
ARCH_API void ArchSetFatalStackLogging(bool flag)