pudb的set_trace

本文介绍了Python库pudb的多进程调试功能,包括基本的set_trace和remote.set_trace的区别。前者仅限于当前进程,而在子进程中使用会报错;后者通过telnet远程连接,适用于所有进程。版本2023.1和2024.1已测试可用。
摘要由CSDN通过智能技术生成

python pudb 是一个多进程的调试利器,使用方法:python -m pudb test.py或者 直接pudb test.py 就可以打开调试界面,在linux 操作系统使用,不过它的set_trace有2个:

pudb.set_trace

pudb.remote.set_trace

其中第一个只在当前进程的上下文中可以使用,类似于pdb.set_trace,会直接调至设置set_trace的地方,如果在子进程中使用,则报错self._selector.register(key.fd, poller_events)  Operation not permitted,表示在子进程中无法使用

第二个则使用telnet进行登录,在当前进程和子进程中都可以使用,只要出现第二个,就会提示使用telnet 等待客户端进行连接

pudb 的版本为2023.1 和2024.1 测试通过

另外如果想在子进程(使用telnet 登录到子进程)中调试一个函数,则需要使用pudb.set_trace()放在函数第一行,这样调用函数的时候会直接进入此行,然后进行调试,不可以用pdb.set_trace,pdb.set_trace 基本不起作用

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]中介绍了使用pdb.set_trace()来设置断点的方法。在代码中插入pdb.set_trace()后,程序会在该位置自动暂停并进入pdb调试环境。在调试环境中,可以使用命令p来查看变量的值,或者使用命令c来继续运行代码。例如,在引用\[2\]中的代码中,当程序执行到pdb.set_trace()时,会进入pdb调试环境,可以使用命令p n来查看变量n的值,然后使用命令c继续运行代码。在这个例子中,由于n的值为0,导致了ZeroDivisionError异常的发生。\[1\]\[2\] 另外,引用\[3\]中的代码展示了一个简单的示例,其中使用了pdb.set_trace()来设置断点。当程序执行到pdb.set_trace()时,会进入pdb调试环境,可以使用命令p来查看变量的值,然后使用命令c继续运行代码。在这个例子中,可以通过调试环境来观察变量a的值的变化。\[3\] #### 引用[.reference_title] - *1* *2* [python pdb.set_trace()](https://blog.csdn.net/weixin_63448558/article/details/130671990)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [python pdb调试方法](https://blog.csdn.net/qq_41554005/article/details/114301729)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值