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 基本不起作用