Make it possible to use pdb for debugging.
This commit is contained in:
parent
71796e9528
commit
e3bb3af7ba
@ -151,9 +151,7 @@ Debugging
|
|||||||
~~~~~~~~~
|
~~~~~~~~~
|
||||||
|
|
||||||
In the `qutebrowser.utils.debug` module there are some useful functions for
|
In the `qutebrowser.utils.debug` module there are some useful functions for
|
||||||
debugging. In particular you should use `set_trace` from
|
debugging.
|
||||||
`qutebrowser.utils.debug` instead of `pdb` to set breakpoints or you'll get
|
|
||||||
annoying Qt error messages.
|
|
||||||
|
|
||||||
When starting qutebrowser with the `--debug` flag you also get useful debug
|
When starting qutebrowser with the `--debug` flag you also get useful debug
|
||||||
logs. You can add +--logfilter _category[,category,...]_+ to restrict logging
|
logs. You can add +--logfilter _category[,category,...]_+ to restrict logging
|
||||||
|
@ -116,7 +116,11 @@ def main():
|
|||||||
# We do this import late as we need to fix harfbuzz first.
|
# We do this import late as we need to fix harfbuzz first.
|
||||||
from qutebrowser import app
|
from qutebrowser import app
|
||||||
from qutebrowser.utils import debug
|
from qutebrowser.utils import debug
|
||||||
|
from PyQt5.QtCore import pyqtRemoveInputHook
|
||||||
import PyQt5.QtWidgets as QtWidgets
|
import PyQt5.QtWidgets as QtWidgets
|
||||||
|
# We don't use qutebrowser via the interactive shell, but we want to be
|
||||||
|
# able to use pdb.
|
||||||
|
pyqtRemoveInputHook()
|
||||||
app = app.Application(args)
|
app = app.Application(args)
|
||||||
# We set qApp explicitely here to reduce the risk of segfaults while
|
# We set qApp explicitely here to reduce the risk of segfaults while
|
||||||
# quitting.
|
# quitting.
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
"""Utilities used for debugging."""
|
"""Utilities used for debugging."""
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import pdb
|
|
||||||
import sys
|
import sys
|
||||||
import types
|
import types
|
||||||
import functools
|
import functools
|
||||||
@ -32,24 +31,6 @@ from qutebrowser.commands import cmdutils
|
|||||||
from qutebrowser.config import config, style
|
from qutebrowser.config import config, style
|
||||||
|
|
||||||
|
|
||||||
@cmdutils.register(debug=True, name='debug-set-trace')
|
|
||||||
def set_trace():
|
|
||||||
"""Break into the debugger in the shell.
|
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
Based on http://stackoverflow.com/a/1745965/2085149
|
|
||||||
"""
|
|
||||||
if sys.stdout is not None:
|
|
||||||
sys.stdout.flush()
|
|
||||||
print()
|
|
||||||
print("When done debugging, remember to execute:")
|
|
||||||
print(" from PyQt5 import QtCore; QtCore.pyqtRestoreInputHook()")
|
|
||||||
print("before executing c(ontinue).")
|
|
||||||
pyqtRemoveInputHook()
|
|
||||||
pdb.set_trace()
|
|
||||||
|
|
||||||
|
|
||||||
@cmdutils.register(debug=True)
|
@cmdutils.register(debug=True)
|
||||||
def debug_crash(typ='exception'):
|
def debug_crash(typ='exception'):
|
||||||
"""Crash for debugging purposes.
|
"""Crash for debugging purposes.
|
||||||
|
Loading…
Reference in New Issue
Block a user