当前位置: 首页 > news >正文

linux系统下,在vscode的命令行中调试python文件

首先参考vscode官网文档Command line debugging

步骤 1(只需一次):安装debugpy

步骤 2:在命令行中运行

python -m debugpy --listen 5678 --wait-for-client -m dir1.dir2.your_script

以上命令使用了端口'5678',也可以改成其他端口;命令末尾的 dir1.dir2.your_script 是待调试的模块(即 .py文件)所在的路径,因为这里使用了 "-m"选项表示将python模块作为脚本来运行,所以模块的路径中用 "." 代替了 "/" 并且模块不加后缀 ".py"

步骤 3(只需一次):执行了步骤二后千万别终止终端的运行,现在点击工具栏“Run and Debug”,点击“create a launch.json file”,将弹出的“launch.json”配置文件中的主要内容替换成

{"name": "Python: Attach","type": "python","request": "attach","connect": {"host": "localhost","port": 5678}
}

注意配置文件里的 port 的键值要和步骤2里的port保持一致,本例中都是 '5678'

步骤 4:此时的终端仍然处于运行状态,现在按键盘上的F5 或依次点击菜单栏Run--Start Debugging,即可启动模块的调试(当然前提是在模块中设置了断点),可以看到模块运行到第一个断点处暂停了

步骤 5:当本次调试结束后,想要从步骤2开始再次调试且不换端口的话,终端可能报错 "The address already in use",说明端口 '5678' 仍然被上一次的调试中的 python 命令所占用(我们可以运行以下命令来验证)

netstat -anp | grep 5678

其中 netstat 命令的功能是查看各端口的使用情况,我们从 "netstat -anp" 的返回信息中过滤出包含 '5678' 的条目,可以看到此时 5678 端口确实被进程号为 793(假设) 的 python 命令所占用,那么为了重新使用这个端口进行新的调试,我们需要用以下命令终止上述进程并释放这个端口

kill 793

此时可以再运行上述 netstat 命令验证一下 5678 这个端口是否被释放

步骤 7:当端口被释放后就变成可用的了,于是可以从步骤2开始下一次调试了

http://www.lryc.cn/news/199412.html

相关文章:

  • DFS(分布式文件系统)与 DFSR(分布式文件系统复制)的区别
  • 丈母娘说:有编制的不如搞编程的
  • vue 部署后 405 not allowed
  • 【限时免费】20天拿下华为OD笔试之【回溯】2023Q1-硬件产品销售方案【欧弟算法】全网注释最详细分类最全的华为OD真题题解
  • 蜻蜓c影视追剧系统-多个小程序添加说明
  • linux 测试存储介质.emmc.nand.ufs.硬盘的读写速度方法
  • 基于 KubeSphere 部署 KubeBlocks 实现数据库自由
  • 图像识别-人脸识别与疲劳检测 - python opencv 计算机竞赛
  • 高性能计算与多模态处理的探索之旅:英伟达GH200性能优化与GPT-4V的算力加速未来
  • 代码随想录算法训练营Day59|动态规划17
  • 软考 系统架构设计师系列知识点之软件构件(2)
  • 【试题011】C语言多个运算符计算例题
  • win10系统同时安装 vue2和vue3
  • 带声学释放器的近海海底潜标的回收记录
  • 新加坡服务器托管
  • Si24R2|2.4G单发射芯片 +7dBm可调功率 校讯通
  • 如何让ChatGPT生成图片?
  • 从零开始学习 Java:简单易懂的入门指南之反射(三十八)
  • 【七:(测试用例)spring boot+testng+xml+mock实现用例管理+数据校验】
  • 哪些数据应该先治理
  • No module ‘xformers‘. Proceeding without it.
  • Stable Diffusion WebUI报错RuntimeError: Torch is not able to use GPU解决办法
  • 金融信息化研究所与YashanDB等单位启动金融多主数据库应用行动计划
  • 工具篇之Axure RP 10的使用
  • C#选择排序(Selection Sort)算法
  • 【Mysql】InnoDB数据页结构(五)
  • Golang中的type关键字
  • 网站管家机器人在为企业获客方面起什么作用?
  • 竞赛选题 深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv
  • 零基础学习HTML5