python pdb调试多进程_PDB远程调试Python多进程子程序

本文介绍了一种使用socket接口和自定义模块rm_pdb,实现跨平台、跨机器甚至跨网络调试Python多进程子程序的方法。通过在服务端运行rm_pdb.server(),并在子进程中调用rm_pdb.pdb().set_trace(),可以实现同时调试父子进程。此外,该方法允许通过指定addr和port参数适应不同场景的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此前文章《最简单方法远程调试Python多进程子程序》利用了Unix管道文件以及简单的bash来配合调试多进程子程序,但也因此没法跨平台支持windows下的子进程调试,这次简单使用socket接口写了个模块,利用类文件对象传给Pdb的构造,因此不仅可以跨平台,甚至跨机器,跨网络调试都没问题(通常不会这么BT的)。

使用方法,用回之前的例子:

先在终端运行调试服务端:

python -c "import rm_pdb; rm_pdb.server()"

python -c "import rm_pdb; rm_pdb.server()"

在另外的终端运行这个文件:

multiproces_debug.py

#!/usr/bin/python

import multiprocessing

import pdb

import rm_pdb

def child_process():

print "Child-Process"

rm_pdb.pdb().set_trace()

var = "debug me!"

def main_process():

print "Parent-Process"

p = multiprocessing.Process(target = child_process)

p.start()

pdb.set_trace()

var = "debug me!"

p.join()

if __name__ == 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值