mirror of
https://github.com/python/cpython.git
synced 2026-05-07 05:01:13 -04:00
646853df13
Co-authored-by: Petr Viktorin <encukou@gmail.com> Co-authored-by: Victor Stinner <vstinner@python.org>
64 lines
1.9 KiB
C
64 lines
1.9 KiB
C
#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 */
|