概述如果您使用PyCharm进行开发,您需要配置一些东西才能运行和调试。本文档描述了一些对sentry开发有用的配置配置Python解释器:(确保是venv解释器)例如~/venv/sentry/bin/python要创建配置(运行/调试配置),只需转到运行|编辑配置...(也可在默认工具栏中使用)。测试运行器哨兵使用pytest进行单元测试。Createpytestconfiguration(underPythontests)SetTarget:CustomAdditionalArguments:tests/sentryDevserverwitheverythingneededforallsettings(web,worker,cron)运行(非调试):创建另一个Python配置脚本路径(脚本路径):/bin/sentry例如~/venv/sentry/bin/sentry参数(Parameters):devserver--workersPython解释器(Pythoninterpreter):venvinterpreterWorkingdir:(srcpathinsentryinstallationdirectory)e.g.~/dev/sentry/src注意:您将无法使用此配置调试webworker(webworker是通过调用uwsgi服务器启动的)。使用PyCharm调试devserver命令的存在主要是为了在单独的进程中生成守护进程,这意味着在默认模式下将调试器附加到它不是很有用。webserverdevserver命令有一个特殊的标志,它将导致web服务器在同一进程的线程中启动(而不是作为web守护进程)。这允许启动devserver的相同PyCharm“调试”操作附加到Web服务器并在其后端命中断点。克隆您的devserver运行配置并将--debug-server添加到“Parameters”字段的末尾。通过选择“调试”而不是“运行”来启动它。--debug-server标志可能会导致进程无法正确响应SIGINT并比原始配置更不优雅地关闭。建议保留两者并将第一个与运行命令一起使用,第二个与调试命令一起使用。您可以将--workers标志与--debug-server一起保留,但请注意,不可能将断点附加到workers,也不可能附加到devserver产生的任何其他守护进程。独立守护进程要将调试器附加到Web以外的单个守护进程,请为该守护进程创建一个运行配置。以下属性应该与您的devserver配置相同。(您可以克隆它并仅更改参数字段。)脚本路径:/bin/sentry,例如:~/venv/sentry/bin/sentryPython解释器:venv解释器工作目录:(到sentry安装目录中的src的路径)例如~/dev/sentry/src将新运行配置的参数设置为启动守护进程的运行命令,e.g.:runcronrunworker-c1TipsandTroubleshooting如果你想调试它,同样的一组修改将适用到getentry项目的运行配置。PyCharm的复合运行配置类型对于一次启动多个运行配置很有用。如果您正在调试一个或多个与开发服务器协作的独立守护进程,那么设置一个可能会很方便。如果您希望Sentry在调试环境中的行为不同于在常规运行中的行为,您可以添加任意环境变量并在.sentry/sentry.conf.py文件中检查它们。例如,下面的屏幕截图显示了在调试时禁用APM采样的设置(因为在断点处停止会污染时间测量)。请注意,PYCHARM_DEBUG是任意名称;对PyCharm和Sentry没有特殊意义。如果单独运行的守护程序无法正常工作,您可以通过调试devserver--debug-server并在src/sentry/runner/commands/devserver.py上插入断点来进行故障排除。这将让您手动检查devserver命令正在运行的命令。(在底部附近寻找manager.add_process调用。)尝试调整运行配置中的参数以匹配这些命令,如果它们还没有的话。
