| #ifndef Py_INTERNAL_TRACEBACK_H | |
| #define Py_INTERNAL_TRACEBACK_H | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #ifndef Py_BUILD_CORE | |
| # error "this header requires Py_BUILD_CORE define" | |
| #endif | |
| // Export for '_ctypes' shared extension | |
| PyAPI_FUNC(int) _Py_DisplaySourceLine(PyObject *, PyObject *, int, int, int *, PyObject **); | |
| // Export for 'pyexact' shared extension | |
| PyAPI_FUNC(void) _PyTraceback_Add(const char *, const char *, int); | |
| /* Write a Unicode object into the file descriptor fd. Encode the string to | |
| ASCII using the backslashreplace error handler. | |
| Do nothing if text is not a Unicode object. | |
| This function is signal safe. */ | |
| extern void _Py_DumpASCII(int fd, PyObject *text); | |
| /* Format an integer as decimal into the file descriptor fd. | |
| This function is signal safe. */ | |
| extern void _Py_DumpDecimal( | |
| int fd, | |
| size_t value); | |
| /* Format an integer as hexadecimal with width digits into fd file descriptor. | |
| The function is signal safe. */ | |
| extern void _Py_DumpHexadecimal( | |
| int fd, | |
| uintptr_t value, | |
| Py_ssize_t width); | |
| // Exported for external JIT support | |
| PyAPI_FUNC(PyObject *) _PyTraceBack_FromFrame( | |
| PyObject *tb_next, | |
| PyFrameObject *frame); | |
| #define EXCEPTION_TB_HEADER "Traceback (most recent call last):\n" | |
| #define EXCEPTION_GROUP_TB_HEADER "Exception Group Traceback (most recent call last):\n" | |
| /* Write the traceback tb to file f. Prefix each line with | |
| indent spaces followed by the margin (if it is not NULL). */ | |
| extern int _PyTraceBack_Print( | |
| PyObject *tb, const char *header, PyObject *f); | |
| extern int _Py_WriteIndentedMargin(int, const char*, PyObject *); | |
| extern int _Py_WriteIndent(int, PyObject *); | |
| // Export for the faulthandler module | |
| PyAPI_FUNC(void) _Py_InitDumpStack(void); | |
| PyAPI_FUNC(void) _Py_DumpStack(int fd); | |
| extern void _Py_DumpTraceback_Init(void); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* !Py_INTERNAL_TRACEBACK_H */ |