def qtdb_resume(): """Resume normal PyQt operations after calling qtdb_trace. Note that this function assumes that pyqtRemoveInputHook has been called """ from PyQt5.QtCore import pyqtRestoreInputHook pyqtRestoreInputHook()
def qtdb_resume(): """Resume normal PyQt operations after calling :fund:`qtdb_trace`. Note that this function assumes that pyqtRemoveInputHook has been called """ from PyQt5.QtCore import pyqtRestoreInputHook pyqtRestoreInputHook()
def debug(*args): pyqtRemoveInputHook() result = function(*args) pyqtRestoreInputHook() return result
def debugTrace(): from PyQt5.QtCore import pyqtRemoveInputHook, pyqtRestoreInputHook import pdb import sys pyqtRemoveInputHook() try: debugger = pdb.Pdb() debugger.reset() debugger.do_next(None) user_frame = sys._getframe().f_back debugger.interaction(user_frame, None) finally: pyqtRestoreInputHook()
def __onDebugger(self): """Brings up a debugger""" heap = self.hpy.heap() unreachable = self.hpy.heapu() logging.error( "Use 'heap' and 'unreachable' objects. Type 'c' when finished.") QApplication.processEvents() oldstdin = sys.stdin oldstdout = sys.stdout oldstderr = sys.stderr sys.stdin = sys.__stdin__ sys.stdout = sys.__stdout__ sys.stderr = sys.__stderr__ pyqtRemoveInputHook() pdb.set_trace() pyqtRestoreInputHook() sys.stdin = oldstdin sys.stdout = oldstdout sys.stderr = oldstderr
def __exit__(self, type, value, traceback): from PyQt5.QtCore import pyqtRestoreInputHook pyqtRestoreInputHook()
def debug_trace(cls): from PyQt5.QtCore import pyqtRemoveInputHook, pyqtRestoreInputHook from pdb import set_trace pyqtRemoveInputHook() set_trace() pyqtRestoreInputHook()
def __del__(self): pyqtRestoreInputHook()
def unhooked_func(*args, **kwargs): pyqtRemoveInputHook() out = func(*args, **kwargs) pyqtRestoreInputHook() return out