[3.8] bpo-40019: Skip test_gdb if Python was optimized (GH-19081) by miss-islington · Pull Request #19255 · python/cpython
ENCODING = locale.getpreferredencoding()
FRAME_INFO_OPTIMIZED_OUT = '(frame information optimized out)' UNABLE_READ_INFO_PYTHON_FRAME = 'Unable to read information on python frame' EVALFRAME = '_PyEval_EvalFrameDefault'
class NullPyObjectPtr(RuntimeError):
def current_line_num(self):
lineno = self.current_line_num() if lineno is None:
def write_repr(self, out, visited): if self.is_optimized_out(): out.write('(frame information optimized out)') out.write(FRAME_INFO_OPTIMIZED_OUT) return lineno = self.current_line_num() lineno = str(lineno) if lineno is not None else "?"
def print_traceback(self): if self.is_optimized_out(): sys.stdout.write(' (frame information optimized out)\n') sys.stdout.write(' %s\n' % FRAME_INFO_OPTIMIZED_OUT) return visited = set() lineno = self.current_line_num()
pyop = frame.get_pyop() if not pyop or pyop.is_optimized_out(): print('Unable to read information on python frame') print(UNABLE_READ_INFO_PYTHON_FRAME) return
filename = pyop.filename()
pyop_frame = frame.get_pyop() if not pyop_frame: print('Unable to read information on python frame') print(UNABLE_READ_INFO_PYTHON_FRAME) return
pyop_var, scope = pyop_frame.get_var_by_name(name)
pyop_frame = frame.get_pyop() if not pyop_frame: print('Unable to read information on python frame') print(UNABLE_READ_INFO_PYTHON_FRAME) return
for pyop_name, pyop_value in pyop_frame.iter_locals():