mirror of https://github.com/pwndbg/pwndbg.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
527 B
Python
24 lines
527 B
Python
"""
|
|
Provides functionality to circumvent GDB's hooks on sys.stdin and sys.stdout
|
|
which prevent output from appearing on-screen inside of certain event handlers.
|
|
"""
|
|
|
|
import sys
|
|
|
|
|
|
class Stdio:
|
|
queue = []
|
|
|
|
def __enter__(self, *a, **kw):
|
|
self.queue.append((sys.stdin, sys.stdout, sys.stderr))
|
|
|
|
sys.stdin = sys.__stdin__
|
|
sys.stdout = sys.__stdout__
|
|
sys.stderr = sys.__stderr__
|
|
|
|
def __exit__(self, *a, **kw):
|
|
sys.stdin, sys.stdout, sys.stderr = self.queue.pop()
|
|
|
|
|
|
stdio = Stdio()
|