Pycharm2023版本:Python远程调试配置详解

工欲善其事,必先利其器

首先你需要选择一个专业版本的pycharm,社区版本不支持远程配置功能,专业版下载地址:Pycharm 2023
在这里插入图片描述
双击程序进行安装,30天内免费试用,如果想要永久使用,办法你懂的,此处略。

远程代码同步配置

选择【tools】 中的 【Deployment】之后选择【Configuration】
在这里插入图片描述
在这里插入图片描述
点击+号,建议选择SFTP方式进行远程同步添加,
在这里插入图片描述
点击如下位置:在这里插入图片描述

输入用户名、密码,点击【Test Connection】进行连接尝试,成功则继续。
在这里插入图片描述
配置好需要同步的本地路径和远程路径,远程路径后面就是程序远程调试的目录。
在这里插入图片描述
下面选择需要同步的项目工程目录,右键选择【Deployment】-> 【Upload to root@XXX】
在这里插入图片描述
不出意外将会在Pycharm最下面出现进度条:
在这里插入图片描述
在右侧可以查看远程的目录:
在这里插入图片描述

远程Debug

【File】-> 【Settings】-> 【Python Interpreter】选择【add interpreter】
在这里插入图片描述
选择 【On SSH】
在这里插入图片描述
在这个页面你可以选择virutal env环境也可以是系统解释器,看需要 如我选择系统解释器。
在这里插入图片描述
至此配置已经完成。

远程调试的原理是什么呢?

如何远程调试,其实理解起来也不费劲, 你需要使用远程的python解释器执行远程的程序,而远程的程序需要你本地同步一份过去。这就需要我们
1、配置远程代码同步
2、配置远程解释器
3、执行本地的代码,同时会调用远程解释器去执行远程对应路径代码。

那他为什么能远程debug调试,作用的断点是如何生效的呢?
我们启用远程调试,发现在命令执行前会有这个信息显示:

/usr/bin/python3 /root/.pycharm_helpers/pydev/pydevd.py
Connected to pydev debugger (build 233.13135.95)

在这里插入图片描述

原来是使用了https://github.com/fabioz/PyDev.Debugger工具进行远程调试的,具体原理后面有时间来剖析,猜一下应该是将本地断点同步到远程,故可以进行远程调试。

参考:

  1. https://www.cnblogs.com/yssjun/p/9824823.html
  2. https://zhuanlan.zhihu.com/p/36843200
  3. http://cn.voidcc.com/question/p-wmcjvaxe-np.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/580989.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GBASE南大通用 GCDW阿里云计算巢:自动化部署云原生数据仓库

目前,GBASE南大通用已与阿里云计算巢合作,双方融合各自技术优势,助力企业用户实现云上数据仓库的自动化部署,让用户在云端获取数据仓库服务“更简单”,让用户在云端使用数据仓库服务“更便捷”,满足企业用户…

Arm CCA机密计算扩展

目录 Realms Realm World和Root World Arm TrustZone扩展和Arm RME之间有什么区别? 在《什么是机密计算?》中所述,Arm CCA允许您在阻止更高特权软件实体(例如Hypervisor)访问的同时部署应用程序或虚拟机(VM)。然而,通常由这些特权软件实体管理内存等资源。在这种情况…

在Visual Studio(VS)编译器中,Release和Debug区别

一、 优化级别 1、Debug(调试) 在Debug模式下,编译器不会对代码进行优化,而是专注于生成易于调试的代码。这使得开发者可以在调试过程中更直观地跟踪变量的值和程序的执行流程。 2、Release(发布) 在Relea…

CSS3——动画

动画 什么是帧 一段动画,就是一段时间内连续播放n个画面。每一张画面,我们管它叫做“帧”。一定时间内连续快速播放若干个顿,就成了人眼中所看到的动画。同样时间内,播放的帧数越多,画面看起来越流畅。 2.什么是关键…

uniapp 安卓模拟器链接

下载genymotion 安装 配置adb路径 模拟端口设为 5307

数据库系统课程设计(高校成绩管理数据库系统的设计与实现)

目录 1、需求分析 1 1.1 数据需求描述 1 1.2 系统功能需求 3 1.3 其他性能需求 4 2、概念结构设计 4 2.1 局部E-R图 4 2.2 全局E-R图 5 2.3 优化E-R图 6 3、逻辑结构设计 6 3.1 关系模式设计 6 3.2 数据类型定义 6 3.3 关系模式的优化 8 4、物理结构设计 9 4.1 聚…

CSDN规则详解——csdn那些你不知道的事儿(点赞、评论、收藏)

文章目录 每日一句正能量前言点赞评论收藏原力等级和博客等级后记 每日一句正能量 “只有奋斗者才能成为胜利者,只有坚持者才能创造奇迹。” - 迈克尔乔丹 这句话来自于世界著名篮球运动员迈克尔乔丹,他以无与伦比的天赋和努力成为了篮球界的传奇人物。他…

基于ChatGpt,Java,SpringBoot,Vue,Milvus向量数据库的定制化聊天Web demo

customized chat GitHub - bigcyy/customized-chatgpt: 基于ChatGpt,Java,SpringBoot,Vue,Milvus向量数据库的定制化聊天Web demo 简介 基于ChatGpt,Java,SpringBoot,Vue,Milvus向…

模式识别与机器学习-SVM(线性支持向量机)

线性支持向量机 线性支持向量机间隔距离学习的对偶算法算法:线性可分支持向量机学习算法线性可分支持向量机例子 谨以此博客作为复习期间的记录 线性支持向量机 在以上四条线中,都可以作为分割平面,误差率也都为0。但是那个分割平面效果更好呢&#xff1…

Java文件操作实现doc格式转pdf

使用场景 在进行生成文档或者报告的时候,生成的word想要转换为pdf格式,这样才能保证报告的不可修改性,但是aspose-words的工具的License令人头疼,这篇文章就是解决这个doc转pdf的License的问题。话不多说,直接上实操。…

lodash源码分析每日一练 - 数组 - intersection / intersectionBy / intersectionWith

今日分享: 每一步都是曼妙的风景~ lodash官网地址 _.intersection([arrays]) 使用: 创建唯一值的数组,这个数组包含所有给定数组都包含的元素,使用SameValueZero进行相等性比较。(注:可以理解为给定数组…

箭头函数的泛型,typescript中怎么写

TypeScript——泛型(函数泛型、模板类型可以是多个、泛型的错误、泛型函数变量、泛型函数类型接口、泛型类1、泛型类2、泛型约束、泛型参数的默认类型)、声明文件、Vue3.0集成ts_typescript 泛型函数-CSDN博客

JavaScript----条件语句

1. 条件语句的介绍 条件语句就是通过条件来控制程序的走向 2. 条件语句语法 if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码if...else if....else 语句 - 使用该…

【C语言】自定义类型:结构体深入解析(三)结构体实现位段最终篇

文章目录 📝前言🌠什么是位段?🌉 位段的内存分配🌉VS怎么开辟位段空间呢?🌉位段的跨平台问题🌠 位段的应⽤🌠位段使⽤的注意事项🚩总结 📝前言 本…

第40节: Vue3 注册生命周期钩子

在UniApp中使用Vue3框架时&#xff0c;你可以注册生命周期钩子来执行特定的逻辑。以下是一个示例&#xff0c;演示了如何在UniApp中使用Vue3框架注册生命周期钩子&#xff1a; <template> <view> <p>{{ message }}</p> </view> </templ…

大数据HCIE成神之路之数据预处理(6)——特征编码

特征编码 1.1 独热编码1.1.1 实验任务1.1.1.1 实验背景1.1.1.2 实验目标1.1.1.3 实验数据解析1.1.2 实验思路1.1.3 实验操作步骤1.1.4 结果验证1.2 Label-Encoding1.2.1 实验任务1.2.1.1 实验背景1.2.1.2 实验目标1.2.1.3 实验数据解析1.2.2 实验思路1.2.3 实验操作步骤1.2.4 结…

C中的extern关键字

C中的extern关键字应用于C变量&#xff08;数据对象&#xff09;和C函数。基本上&#xff0c;extern关键字扩展了C变量和C函数的可见性。这可能就是它诶命名为extern的原因。 虽然大多数人可能理解变量或函数的“声明&#xff08;declaration&#xff09;” 和 “定义&#xf…

月薪高达6W,多家大厂急招鸿蒙开发工程师,现在转还来得及吗?

近期&#xff0c;“安卓版本与鸿蒙不再兼容”的词条登上微博热搜&#xff0c;华为鸿蒙加速按下向“纯血鸿蒙”蜕变的启动键&#xff0c;欲与 iOS、安卓在市场三分天下。 一批嗅觉灵敏的互联网大厂&#xff0c;已经完成或开始启动开发鸿蒙原生 APP&#xff0c;也于近期发布了和…

十、Shell 变量类型

Shell 支持不同类型的变量&#xff0c;其中一些主要的类型如下&#xff1a; 一、整数变量 整型变量用于存储整数据数据。可以使用整数赋值给变量&#xff0c;或者通过命令的输出结果获取整数值。整型变量可以用于数学计算、循环控制等等。 #!/bin/bash num110 num25 su…

Java之ThreadLocal 详解

ThreadLocal 详解 原文地址&#xff1a;https://juejin.cn/post/6844904151567040519open in new window。 什么是ThreadLocal&#xff1f; ThreadLocal提供线程局部变量。这些变量与正常的变量不同&#xff0c;因为每一个线程在访问ThreadLocal实例的时候&#xff08;通过其…