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

vscode本地docker gdb调试python

背景

最近在部署测试一个工程,不想配环境,拉官方镜像下来跑的,不幸地是,程序运行有点问题。想要debug一下,又不想在终端gdb,想要在vscode中点点点,所以有了下面的一顿配置。

vscode python常用插件

在这里插入图片描述

利用docker & Remote Development插件

参考链接中“用vscode来查看并attach运行中的容器——方法二:使用docker插件“部分
注意:不安装Remote Development插件,没有attach visual studio code选项(参考链接)

利用Dev Containers插件

参考链接中“用vscode来查看并attach运行中的容器——方法一:使用remote-container插件“部分,我没有在插件中搜索到remote-container,安装的Dev Containers插件,发现也是ok的。

利用Remote SSH插件

参考链接:在Docker容器中启用SSH服务,实现外部访问的详细教程

配置docker: ssh & gdb

ssh:
apt-get update 
apt-get install -y openssh-servervim /etc/ssh/sshd_config
Port 8080(默认情况下,ssh服务监听22号端口,此处也可以配置其他的)
PermitRootLogin yes
PasswordAuthentication yesuseradd -m -d /home/<username> -s /bin/bash -p 密码service ssh restart 
查看状态 service ssh status
如果没有成功运行:
端口问题:
apt install net-tools
查看22端口被谁监听:netstat -tulnp | grep 22
查看ssh服务监听哪个端口:netstat -tulnp | grep ssh 
直接运行:/usr/sbin/sshd 查看输出报错docker run -p <host_port>:<container_port> -d <your_image> ...... bashssh -p <host_port> <username>@<host_ip_or_localhost>
例如:ssh -p 8080 star@localhost
whoami
passwdgdb:
sudo apt install gdb
# 测试
gdb --versiondocker commit 容器name 镜像名

利用remote-ssh远程调试

该步比较简单,可参考remote-ssh配置与使用
需要说明的一点是可以在~/.ssh/config中配置端口号Port

其他问题

VSCode如何在行内显示变量值
python debug的时候报环境版本太低,不能debug的错误:
(1)参考VSCode运行Python3.6.5项目 无法debug调试的解决办法
(2)我修改python成非pre-release版本之后,还是会报错,但是可以正常debug了,有点难以解释。
ai助手:lingma Copilot等

http://www.xdnf.cn/news/1020.html

相关文章:

  • UE5.2+VarjoXR3,Lumen、GI、Nanite无效的两种解决方案
  • SQLiteDatabase 增删改查(CRUD)详细操作
  • 企业微信私域运营,基于http协议实现SCRM+AI完整解决方案
  • autohue.js - 基于 JavaScript 开发的图片背景色提取开源库,能让图片和背景融为一体
  • gbase8s触发器使用
  • CentOS创建swap内存
  • 锂电池4.2V升压24V推荐哪些升压芯片?高效率国产SL4013输入耐压2.7V-25V
  • 黑马点评redis改 part 4
  • List findIntersection getUnion
  • 分别配置Github,Gitee的SSH链接
  • 扩散模型(Diffusion Models)
  • Linux-信号
  • 媒体关注:联易融聚焦AI+业务,重塑供应链金融生态
  • 【k8s】PV,PVC的回收策略——return、recycle、delete
  • 开源模型应用落地-Podcastfy-从文本到声音的智能跃迁-Docker(二)
  • CSS预处理器对比:Sass、Less与Stylus如何选择
  • 如何改电脑网络ip地址完整教程
  • Python常用的第三方模块之数据分析【pdfplumber库、Numpy库、Pandas库、Matplotlib库】
  • Docker 部署 Redis 缓存服务
  • 路由器转发规则设置方法步骤,内网服务器端口怎么让异地连接访问的实现
  • 一键配置多用户VNC远程桌面:自动化脚本详解
  • linux下使用wireshark捕捉snmp报文
  • 开源状态机引擎,在实战中可以放心使用
  • 15.QT-容器类控件|Group Box|Tab Widget|垂直布局|水平布局|网格布局|表单布局|Spacer(C++)
  • Idea 配置 Git
  • Uniapp:swiper(滑块视图容器)
  • 如何将Qt程序打包成应用程序?
  • 流程执行松散,如何强化规范?
  • 【Linux内核设计与实现】第三章——进程管理01
  • 信奥中的数学