我知道我可以通过设置来设置启动哪个调试器sys.breakpointhook(),但是我应该将其设置为什么才能启动 PyCharm 的 IDE?
为了澄清,我希望 PyCharm 的调试器在遇到内置程序时启动breakpoint(),特别是当我从 PyCharm 运行程序时。
如果您想知道“当您可以从调试器运行时为什么要这样做?” 我正在尝试调试一些在使用调试器启动时响应不同的代码。
Ueli 的回答让我成功了 99%。这是摘要。
如果您希望 PyCharm 调试器启动,您只需导入它即可。有几种方法:
您可以使用
pydevd-pycharm.eggPyCharm 安装 (<PyCharm directory>/debug-egg/pydevd-pycharm.egg) 或pydevd-pycharm使用 pip 安装包。
如果您在本地运行,最简单的就是添加
sys.path.append("<PyCharm directory>/debug-egg/pydevd-pycharm.egg")
import pydevd_pycharm
Run Code Online (Sandbox Code Playgroud)
您正在调试的程序中的某个位置。
如果您尝试在远程计算机上进行调试,则需要安装pydevd-pycharm:
pip install pydevd-pycharm~=<version of PyCharm on the local machine>
Run Code Online (Sandbox Code Playgroud)
添加之前
import pydevd_pycharm
Run Code Online (Sandbox Code Playgroud)
程序中的某个地方。
有关如何导入的说明pydevd_pycharm是从https://www.jetbrains.com/help/pycharm/remote-debugging-with-product.html#remote-debug-config的步骤 4 复制的(如 Ueli 的答案中所链接)。