mirror of
https://github.com/python/cpython.git
synced 2025-08-26 03:34:43 +00:00
bpo-44472: Fix ltrace functionality when exceptions are raised (GH-26822) (#26831)
(cherry picked from commit 06cda808f1
)
Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
This commit is contained in:
parent
c89f0b2587
commit
6fb4248cd9
2 changed files with 4 additions and 0 deletions
|
@ -0,0 +1 @@
|
||||||
|
Fix ltrace functionality when exceptions are raised. Patch by Pablo Galindo
|
|
@ -4598,11 +4598,14 @@ static int
|
||||||
prtrace(PyThreadState *tstate, PyObject *v, const char *str)
|
prtrace(PyThreadState *tstate, PyObject *v, const char *str)
|
||||||
{
|
{
|
||||||
printf("%s ", str);
|
printf("%s ", str);
|
||||||
|
PyObject *type, *value, *traceback;
|
||||||
|
PyErr_Fetch(&type, &value, &traceback);
|
||||||
if (PyObject_Print(v, stdout, 0) != 0) {
|
if (PyObject_Print(v, stdout, 0) != 0) {
|
||||||
/* Don't know what else to do */
|
/* Don't know what else to do */
|
||||||
_PyErr_Clear(tstate);
|
_PyErr_Clear(tstate);
|
||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
PyErr_Restore(type, value, traceback);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue