• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > (python)Pycharm调试高效,还是pdb调试高效?在服务端

(python)Pycharm调试高效,还是pdb调试高效?在服务端

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了python pdb,python pdb调试,python pdb模块,python pycharm,pycharm配置python等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:(python)Pycharm调试高效,还是pdb调试高效? 在服务端
描述:

[问题描述]
以前均是使用Pycharm调试远程Linux上的代码, 但是今天偶然看到同事使用pdb在服务器端调试, 颇觉有趣, 自己也试了试, 发觉竟然也是相当高效(以前以为用pdb是手工作坊), (也有可能是pdb的简洁给我带来了这种感觉)

使用Pycharm调试, 可能想到的其背景是一个项目(并且是正规的有规模的), 其步骤可能也会是繁琐的:

  1. 本地Pycharm打断点

  2. 同步代码至服务器(这点无问题,可以自动同步)

  3. 开始调试
    GUI带来的便利性毋庸置疑, 但是调试范围有局限, 仅限于此项目目录下的py文件, 因为Pycharm只与远程Linux下的此目录做了对应

使用pdb,则很灵活, 随时跑到某py文件中,写上pdb的调试代码, 然后运行,即可调试. 缺点是:

  1. 手动打断点

  2. 多个文件断点, 工作量颇多

  3. 还要自己一一删除pdb代码, 有点麻烦

为什么问此问题呢?

由上可知, 我以前并没有使用过pdb, 今天也只是粗略使用, 所以见树木不见森林也是正常. 但是我觉得pdb应该可以用得更好

[问题简化]
实用高效的pdb调试技巧


解决方案1:

如果你认为pdb肯定在服务端比pycharm高效,那google搜搜pdb的教程和技巧,应该会有很多干货,所以我这里就不写pdb有多好了,从我的角度来说,我工作的99.99%的问题都可以用pycharm解决,所以我还是结合场景来说说pycharm是如何适应我的开发的。
1) pycharm不但能调试本地代码,也支持remote debug的。

2) pycharm的调试模式在5.0之后,支持attach的模式,这个据我所知,应该是很领先的。


意外着你可以对运行中的python程序进行调试,处理,发现其中的问题,而无需以调试模式从头调到尾。

3) 针对CPython的特点,特别复杂的场景,其实各种pdb或debugger都是无效的,因为底层有一个C实现,加大调试难度,所以特别复杂的场景我是用日志的。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • (python)Pycharm调试高效,还是pdb调试高效?在服务端

相关文章

  • 2017-06-07 下面代码Python3x为什么运行失败啊!!!
  • 2017-06-07 七牛上传音频至空间之后,下载不下。。。浏览器访问音频文件的外链地址也是不行
  • 2017-06-07 写代码格式括号是否另起一行
  • 2017-06-07 JBPM40问题
  • 2017-06-07 JBPM流程图示问题如何显示流程路线
  • 2017-06-07 错排序列第N项模M=?
  • 2017-06-07 加急求助:如何将服务器的HTML静态页面转换为PDF格式输出
  • 2017-06-07 CreateRESTfulApiusingLaravel
  • 2017-06-07 rediskeys和expires近乎相同,怎么处理?
  • 2017-06-07 (python)[Errno11001]getaddrinfofailed请问这个错误怎么解决

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • python爬虫python问题
    • (laravel)项目中要发送验证码和短信来做一些验证,请问如何进行校验
    • 我是编程小白,但是想通过参加一些开源项目逐渐学习,请给指条路
    • sysctl,launchctl,ulimit三者的关系和异同
    • Python有办法在调用的时候显示中文吗
    • pythonpandas读取excel文件时候如何读取指定的col
    • 正则表达式请问这两个正则表达式有什么区别
    • php例如redis
    • flask(flask)多子站不同数据表前缀问题
    • 七牛云存储七牛云证书申请问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有