24 #ifndef PXR_BASE_ARCH_DEBUGGER_H
25 #define PXR_BASE_ARCH_DEBUGGER_H
31 #include "pxr/base/arch/api.h"
34 PXR_NAMESPACE_OPEN_SCOPE
103 #if defined(ARCH_COMPILER_GCC) || defined(ARCH_COMPILER_CLANG)
104 #define ARCH_DEBUGGER_TRAP do { ArchDebuggerTrap(); asm(""); } while (0)
106 #define ARCH_DEBUGGER_TRAP do { ArchDebuggerTrap(); } while (0)
109 PXR_NAMESPACE_CLOSE_SCOPE
111 #endif // PXR_BASE_ARCH_DEBUGGER_H
Define function attributes.
ARCH_API void ArchDebuggerTrap() ARCH_NOINLINE
Stop in a debugger.
ARCH_API void ArchAbort(bool logging=true)
Abort.
ARCH_API void ArchDebuggerWait(bool wait)
Cause debug traps to wait for the debugger or not.
#define ARCH_NOINLINE
Macro used to indicate that a function should never be inlined.
ARCH_API bool ArchDebuggerIsAttached() ARCH_NOINLINE
Test if a debugger is attached.
ARCH_API bool ArchDebuggerAttach() ARCH_NOINLINE
Attach a debugger.