I'm trying to debug a python hug API with pdb
.
The regular hug api is started with:
hug -f api.py
You can start pdb from the command line via python
interpreter using:
python -m pdb api.py
Where api.py
contains hug routes, directives etc. api.py
however needs to be run with hug -f api.py
which doesn't accept -m pdb
.
eg: hug -m pdb -f api.py
doesn't work.
I also tried creating a debug.py
file and import api.py
into it with debugging started. But it doesn't register the routes in api.py
.
import pdb
from api import *
@hug.startup()
def startup(args):
"""Starts api and debugging"""
pdb.set_trace()
The hug server starts ok, but without any routes defined in api.py
.
At the moment I'm resorting to having to put pdb.set_trace()
directly into one of the routes in api.py
. This works but is tedious. Ideally there should be a way to start api.py
with hug
and pdb
debugging and set breakpoints dynamically without restarting hug
.