1

我需要调试我扭曲的应用程序。我正在使用 pycharm,据我了解,我可以使用 --no-daemon 选项在 twistd 中启动我的应用程序,以便逐步执行代码。

我有以下代码来启动服务器。

def main():
    log.startLogging(sys.stdout)

    contextFactory = ssl.DefaultOpenSSLContextFactory(os.environ['SSLKEY'],
                                                     os.environ['SSLCERT'])
    factory = WebSocketServerFactory(u"wss://0.0.0.0:8080")
    factory.protocol = MyServerProtocol
    resource = WebSocketResource(factory)

    root = create_root()

    saml_manager = SamlManager()
    saml_manager.init_app(root)

    root.putChild(b"ws", resource)

    site = Site(root)

    reactor.listenSSL(8080, site, contextFactory)
    reactor.run()


if __name__ == '__main__':
    main()

我看到 twistd 有一个 -y 选项,但我无法让它运行我的应用程序。

我的目录树如下。

.
├── app
│   ├── __init__.py
│   ├── auth.py
│   ├── certs
│   └── index.html
├── run.py
├── saml
│   └── settings.json
└── venv
    ├── bin
    ├── include
    ├── lib
    └── pip-selfcheck.json

7 directories, 6 files

我一直通过执行调用 main() 函数的 run.py 来运行应用程序。

如何在命令行上使用 twistd 启动此应用程序以便调试该应用程序?

作为参考,我指的是如何在 PyCharm中调试扭曲的应用程序,以便尝试在 pycharm 中调试扭曲的应用程序。

如果有更好的方法可以在请求中设置断点,请告诉我。

谢谢!

4

1 回答 1

0

无视这个问题。我显然有一个糟糕的装饰器,它导致了重定向循环,也阻止了我调试。一旦我删除了那个装饰器,我就可以像往常一样调试了。

于 2018-04-11T15:28:22.803 回答