python 远程调试 pydevd pycharm

前言

pdb调试远程服务器或者容器中的python程序非常的不方便,下面介绍一下怎么使用pycharm调试远程程序

操作

1. 本地启动调试服务

添加 Python Debug Server 运行方式,

注意设置本地监听的ip和端口

以及本地路径和远程路径的映射,这个一定要加,不然没法打断点

在这里插入图片描述
在这里插入图片描述

2. 确保本地pydevd服务可以被远程机器访问

一般情况下,远程机器是没办法访问本地机器的,所以需要使用内网穿透工具,将本机ip端口映射到公网环境

例如我使用frp做了如下映射
localhost:6767 -> x.x.x.x:9999

3. 远程服务安装调试环境

pip 安装 pydevd-pycharm~=241.15989.155,在运行程序中添加连接调试服务的代码

这模拟在容器中运行

Dockerfile

FROM python:3.10
RUN python3 -m pip install flask pydevd-pycharm~=241.15989.155
COPY server.py server.py

docker-compose.yaml

services:
  server:
    build: .
    command: python3 server.py
    volumes:
      - ./server.py:/server.py
    ports:
      - 7789:7789

server.py

import pydevd_pycharm
pydevd_pycharm.settrace('x.x.x.x', port=9999, stdoutToServer=True, stderrToServer=True)
import flask

app = flask.app.Flask(__name__)


@app.route('/')
def index():
    return 'Hello, World!'


if __name__ == '__main__':
    app.run(host="0.0.0.0", port=7789)

4. 运行程序开始调试

启动python程序

docker compose up -d

查看pycharm发现已经进来了
在这里插入图片描述
然后就可以像正常调试了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值