if not pyframeobject:
raise gdb.GdbError('Unable to read information on python frame')
- try:
- filename = pyframeobject.filename()
- except RuntimeError:
- filename = None
- lineno = None
- else:
- lineno = pyframeobject.current_line_num()
+ filename = pyframeobject.filename()
+ lineno = pyframeobject.current_line_num()
if pygments:
lexer = pygments.lexers.PythonLexer(stripall=False)
# print this python function as a C function
return self.print_stackframe(frame, index, is_c=True)
- try:
- func_name = str(pyframe.co_name)
- except RuntimeError:
- func_name = 'Unknown Function Name'
+ func_name = pyframe.co_name
func_cname = 'PyEval_EvalFrameEx'
func_args = []
elif self.is_cython_function(frame):
def __str__(self):
field_ob_size = self.field('ob_size')
field_ob_sval = self.field('ob_sval')
- char_ptr = field_ob_sval.address.cast(_type_unsigned_char_ptr)
+ char_ptr = field_ob_sval.address.cast(
+ gdb.lookup_type('char').pointer())
+
return ''.join([chr(char_ptr[i]) for i in safe_range(field_ob_size)])
def proxyval(self, visited):