* python-interactive, and quitting gdb pagination @ 2012-08-23 17:07 Pedro Alves 2012-08-23 17:32 ` Khoo Yit Phang 0 siblings, 1 reply; 3+ messages in thread From: Pedro Alves @ 2012-08-23 17:07 UTC (permalink / raw) To: Khoo Yit Phang, GDB Patches FYI, I just tried playing with this a little, and stumbled on: (gdb) python-interactive >>> help (gdb) Help on package gdb: ... ... ... TypeIterator Value exceptions.Exception(exceptions.BaseException) GdbError ---Type <return> to continue, or q <return> to quit---q Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python2.7/site.py", line 471, in __call__ return pydoc.help(*args, **kwds) File "/usr/lib64/python2.7/pydoc.py", line 1744, in __call__ self.help(request) File "/usr/lib64/python2.7/pydoc.py", line 1791, in help else: doc(request, 'Help on %s:') File "/usr/lib64/python2.7/pydoc.py", line 1528, in doc pager(render_doc(thing, title, forceload)) File "/usr/lib64/python2.7/pydoc.py", line 1432, in plainpager sys.stdout.write(plain(text)) File "<string>", line 13, in write KeyboardInterrupt: Quit >>> That traceback surprised me, but maybe it's expected. -- Pedro Alves ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: python-interactive, and quitting gdb pagination 2012-08-23 17:07 python-interactive, and quitting gdb pagination Pedro Alves @ 2012-08-23 17:32 ` Khoo Yit Phang 2012-09-10 20:07 ` Tom Tromey 0 siblings, 1 reply; 3+ messages in thread From: Khoo Yit Phang @ 2012-08-23 17:32 UTC (permalink / raw) To: Pedro Alves; +Cc: Khoo Yit Phang, GDB Patches Hi, On Aug 23, 2012, at 1:07 PM, Pedro Alves wrote: > FYI, I just tried playing with this a little, and stumbled on: > > (gdb) python-interactive >>>> help (gdb) > Help on package gdb: > ... > ... > ... > TypeIterator > Value > exceptions.Exception(exceptions.BaseException) > GdbError > ---Type <return> to continue, or q <return> to quit---q > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/usr/lib64/python2.7/site.py", line 471, in __call__ > return pydoc.help(*args, **kwds) > File "/usr/lib64/python2.7/pydoc.py", line 1744, in __call__ > self.help(request) > File "/usr/lib64/python2.7/pydoc.py", line 1791, in help > else: doc(request, 'Help on %s:') > File "/usr/lib64/python2.7/pydoc.py", line 1528, in doc > pager(render_doc(thing, title, forceload)) > File "/usr/lib64/python2.7/pydoc.py", line 1432, in plainpager > sys.stdout.write(plain(text)) > File "<string>", line 13, in write > KeyboardInterrupt: Quit > > That traceback surprised me, but maybe it's expected. Hmm, this happens because quitting from GDB's pager happens to raise the same error reason, RETURN_QUIT, as typing Ctrl-C, i.e., quitting from the pager looks exactly like Ctrl-C. I'm not quite sure what the best way to fix this is; perhaps disable the pager while in Python? Python's "help" runs a pager too, but I think it's disabled because stdin/stdout is redirected through GDB. Or alternatively, perhaps somehow differentiate quitting from the pager or quitting from Ctrl-C, e.g., with a different error.message? Yit August 23, 2012 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: python-interactive, and quitting gdb pagination 2012-08-23 17:32 ` Khoo Yit Phang @ 2012-09-10 20:07 ` Tom Tromey 0 siblings, 0 replies; 3+ messages in thread From: Tom Tromey @ 2012-09-10 20:07 UTC (permalink / raw) To: Khoo Yit Phang; +Cc: Pedro Alves, GDB Patches >>>>> "Yit" == Khoo Yit Phang <khooyp@cs.umd.edu> writes: Yit> Hmm, this happens because quitting from GDB's pager happens to raise Yit> the same error reason, RETURN_QUIT, as typing Ctrl-C, i.e., quitting Yit> from the pager looks exactly like Ctrl-C. I'm not quite sure what the Yit> best way to fix this is; perhaps disable the pager while in Python? Yit> Python's "help" runs a pager too, but I think it's disabled because Yit> stdin/stdout is redirected through GDB. Or alternatively, perhaps Yit> somehow differentiate quitting from the pager or quitting from Ctrl-C, Yit> e.g., with a different error.message? Having Python use the pager is kind of a feature. It lets one write gdb commands in Python that work like other gdb commands. I suppose we could provide a way to bypass the pager. Doing so during python-interactive might make sense, though I am not sure. Tom ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-09-10 20:07 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2012-08-23 17:07 python-interactive, and quitting gdb pagination Pedro Alves 2012-08-23 17:32 ` Khoo Yit Phang 2012-09-10 20:07 ` Tom Tromey
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox