首页 > 解决方案 > 如何使用 breakpoint() 启动 PyCharm 的调试器

问题描述

我知道我可以通过设置来设置启动哪个调试器sys.breakpointhook(),但是为了启动 PyCharm 的 IDE,我应该设置什么?

澄清一下,我希望 PyCharm 的调试器在遇到breakpoint()内置函数时启动,尤其是当我从 PyCharm 运行程序时。

如果您想知道“当您可以从调试器运行时为什么还要这样做?” 我正在尝试调试一些在使用调试器启动时响应不同的代码。

标签: pythonpycharm

解决方案


PyCharm 使用 pydevd 调试器https://pypi.org/project/pydevd-pycharm/。因此,假设您要调试在 PyCharm 之外启动的 Python 应用程序,您有两种选择:

第二个选项可能更接近您的想法,即不是使用设置调试器sys.breakpointhook,而是安装调试器 pydevd_pycharm.settrace(...),然后使用它连接到 PyCharm(您可以在源文件中设置断点)。

通过将 sys.breakpointhook 指向 pydevd 断点挂钩(即指向“Pycharm 调试器”)来安装自定义断点挂钩将由 pydevd 完成(https://github.com/fabioz/PyDev.Debugger/blob/37d804c7ac968694ce29c93392e3bed6fda641f0/pydevd.py #L95,准确地说是第 117 行)。


推荐阅读