mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00
GH-100987: Allow objects other than code objects as the "executable" of an internal frame. (GH-105727)
* Add table describing possible executable classes for out-of-process debuggers. * Remove shim code object creation code as it is no longer needed. * Make lltrace a bit more robust w.r.t. non-standard frames.
This commit is contained in:
parent
ad56340b66
commit
7199584ac8
28 changed files with 541 additions and 606 deletions
|
@ -249,6 +249,7 @@ hashtable_compare_traceback(const void *key1, const void *key2)
|
|||
static void
|
||||
tracemalloc_get_frame(_PyInterpreterFrame *pyframe, frame_t *frame)
|
||||
{
|
||||
assert(PyCode_Check(pyframe->f_executable));
|
||||
frame->filename = &_Py_STR(anon_unknown);
|
||||
int lineno = PyUnstable_InterpreterFrame_GetLine(pyframe);
|
||||
if (lineno < 0) {
|
||||
|
@ -256,7 +257,7 @@ tracemalloc_get_frame(_PyInterpreterFrame *pyframe, frame_t *frame)
|
|||
}
|
||||
frame->lineno = (unsigned int)lineno;
|
||||
|
||||
PyObject *filename = pyframe->f_code->co_filename;
|
||||
PyObject *filename = filename = ((PyCodeObject *)pyframe->f_executable)->co_filename;
|
||||
|
||||
if (filename == NULL) {
|
||||
#ifdef TRACE_DEBUG
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue