(如何)可以在类似于pdb的命令行上使用pydevd?

时间:2019-03-13 13:01:40

标签: python pydev pdb

我知道我可以像这样在命令行上调试Dummy.py

python -m pdb Dummy.py

现在,我正在尝试了解Visual Studio Code中调试控制台的某些行为,我相信我可能会追溯到pydevd的行为。 (基本上,调试控制台reports incorrect error messages用于诸如a = no_existing_function()之类的行。)

所以我想做的就是以与以上pydevd类似的方式使用pdb,但我未能实现。我已经设法启动一个“服务器”,

import pydevconsole
pydevconsole.start_server('localhost', 5678, 1234)

并启动“客户端”并连接到上述服务器:

import pydevd
from _pydevd_bundle import pydevd_comm

print(pydevd_comm.start_client('localhost', 5678))
pydevd.settrace()

但是,我不确定下一步该怎么做。在我看来,pydevd只是一个中介,希望其他东西连接到我选择为1234的端口。但是实际上在那里期望什么?我可以连接telnet之类的东西,还是可以完全断开该连接以得到一个真正的交互式控制台,可以在其中键入要在Dummy.py范围内评估的命令?

1 个答案:

答案 0 :(得分:1)

如果您使用的是Visual Studio代码,则要使用ptvsd而不是pydevdptvsd包装pydevd以用于Visual Studio代码)。

有关详细信息,请参见:https://code.visualstudio.com/docs/python/debugging(您必须启动远程调试器,然后使用启动配置连接到它)。