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
(gdb) break *0x972