Tricks for Python debugger pdb
Using pdb in PyGTK applications
If you try to run pdb.set_trace() on a PyGTK application, the command-line prompt will be unusable, certainly because of (native) multithreading. Solution is simple once you got it, but not necessarily easy to find on the Internet:
def import_pdb_set_trace(): '''Set a tracepoint in PDB that works with Qt''' from PyQt5.QtCore import pyqtRemoveInputHook pyqtRemoveInputHook() import pdb; pdb.set_trace()
PDB aliases [for gdb.py scripting]
# gdb.py alias ge import gdb;gdb.execute("%*") # gdb execute alias gq import gdb;gdb.execute("quit") # gdb quit # force quit alias fq import os;os._exit(0) # quick print alias pr print(%1) # dir() alias dir for k in dir(%1): print("{}".format(k)) alias dirv for k in dir(%1): print("{} --> {}".format(k, getattr(%1, k))) alias ds dir self