--- pdb.py.orig Sun Oct 27 20:37:38 2013 +++ pdb.py Wed Mar 12 09:17:34 2014 @@ -1128,9 +1128,12 @@ for i in range(n): name = co.co_varnames[i] if name in dict: - self.message('%s = %r' % (name, dict[name])) - else: - self.message('%s = *** undefined ***' % (name,)) + try: + self.message('%s = %r' % (name, dict[name])) + except Exception: + self.message('%s = *** repr failed: %s ***' % (name, name)) + else: + self.message('%s = *** undefined ***' % (name,)) do_a = do_args def do_retval(self, arg):