zoukankan      html  css  js  c++  java
  • 【转载】Pycharm调试高效,还是pdb调试高效? (在服务端)

    https://segmentfault.com/q/1010000005067119

    0

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

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

    1. 本地Pycharm打断点

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

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

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

    1. 手动打断点

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

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

    为什么问此问题呢?

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

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

    已采纳

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

    clipboard.png

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

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

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

  • 相关阅读:
    【JAVA SE基础篇】28.面向对象三大特征之多态
    【JAVA SE基础篇】27.面向对象三大特征之封装
    【JAVA SE基础篇】26.toString()方法和equlas()方法
    【JAVA SE基础篇】25.面向对象三大特征之继承
    【JAVA SE基础篇】24.包的机制和import详解
    ssh框架文件上传下载
    java格式化时间格式
    表单提交后打印后台传过来的数据
    使用ajaxfileupload.js实现文件上传
    JSTL跳出<c:forEach>循环
  • 原文地址:https://www.cnblogs.com/xuanbjut/p/10910897.html
Copyright © 2011-2022 走看看