coinstac修订版,删除了stdout调用。远程普通PDB(通过TCP套接字)*正确完成*:无附加功能,正确处理连接失败和CI。基于“pdbx<https://pypi.python.org/pypi/pdbx>`。

coinstac-remote-pdb的Python项目详细描述


远程普通pdb(通过tcp套接字)done right:没有额外功能,正确处理连接失败和ci。基于 在pdbx上。

  • 自由软件:BSD 2条款许可证

安装

pip install remote-pdb

用法

要在第一个可用端口上打开远程PDB,请执行以下操作:

fromremote_pdbimportset_traceset_trace()# you'll see the port number in the logs

使用特定的主机/端口:

fromremote_pdbimportRemotePdbRemotePdb('127.0.0.1',4444).set_trace()

要连接,只需运行telnet 127.0.0.1 4444。当你完成的时候 调试,要么退出调试器,要么按下控制-],然后控制-d/<

或者,可以连接netcat:nc -C 127.0.0.1 4444或socat:socat readline tcp:127.0.0.1:4444(用于行编辑和历史记录支持)。完成调试时,退出 调试器,或按control-c。

与Python3.7+中的breakpoint()集成

如果您使用的是python 3.7,那么可以使用内置的新breakpoint()来调用 远程PDB。在这种情况下,必须设置以下环境变量:

PYTHONBREAKPOINT=remote_pdb.set_trace

调试器可以如下调用,无需任何导入:

breakpoint()

由于breakpoint()函数不接受任何参数,因此可以使用环境变量 指定服务器应侦听的主机和端口。例如,在这样的 要使telnet 127.0.0.1 4444成为正确的连接方式,可以运行:

PYTHONBREAKPOINT=remote_pdb.set_trace REMOTE_PDB_HOST=127.0.0.1 REMOTE_PDB_PORT=4444 python script.py

如果省略REMOTE_PDB_HOST,则将使用默认值127.0.0.1。如果REMOTE_PDB_PORT是 如果省略,则将使用第一个可用端口。连接信息将记录到控制台, 就像调用remote_pdb.set_trace()一样。

有关OS X的说明

在某些情况下(后台进程),os x会阻止readline被导入(readline是pdb的依赖项)。 解决方法(提前运行):

importsignalsignal.signal(signal.SIGTTOU,signal.SIG_IGN)

#9cpython#14892

要求

支持python 2.6、2.7、3.2、3.3和pypy。

类似项目

更改日志

1.3.0(2019-03-13)

  • 对python 3.8的breakpoint()的文档支持。
  • 添加了通过REMOTE_PDB_HOST/^{tt9}设置套接字侦听主机/端口的支持$ 环境变量。马修·威尔克斯在#14中撰稿。
  • 去掉了在socket周围使用rw文件包装器(原来socket的makefile在python 3.6和 稍后-output is discarded)。贡献于#13

1.2.0(2015-09-26)

  • 始终打印/记录侦听地址。

1.1.3(2015-07-06)

  • 更正了默认帧跟踪起始位置。

1.1.2(2015-07-06)

  • 小型自述文件更新。

1.1.1(2015-07-06)

  • 删除伪造的remote_pdb控制台脚本。

1.1.0(2015-06-21)

  • 修复了在python 3和windows上运行时的缓冲问题。

1.0.0(2015-06-15)

  • 增加了对pdb++的支持。

0.2.1(2014-03-07)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
显示图像的RGB编号的java   java JavaFX画布2D游戏:背景变换vs.绘画   在到达maxElementsInMemory之前创建的java DiskMarker   a4j:ajax可用事件的java详尽列表?   java从批处理文件运行jar文件,如果出现错误,则显示meessage   音频Java在背景音乐之上播放声音   用于在FTP中上载文件的java更改目录   尽管设置了必要的属性,java列表项仍不会保持选中状态   java Stanford Core NLP解析与CSV   java使用缓冲区合并热态和冷态   java无法初始化类javax。加密。JCE安全   对这个Java循环如此困惑的输入   java Spring RabbitMQ SimpleRabbitListenerContainerFactory用法   java如何使用jGrowl创建JSF消息   安装jRebel插件后,Netbeans项目中的java源文件夹不可见?   如何在Java中解析复杂的json字符串   java Spark KafkaUtils CreateRDD在键上应用过滤器   try块中的java代码被忽略,为什么?