一直犯愁的是python的调试,曾经写c都是编译完了用gdb直接调试了,轻松愉快。如今遇到这么一个解释型的程序。不知道怎么办了。用log吧,有时就是一个小程序,不想写这么多代码。打屏吧。有时屏幕翻得快,也是挺郁闷的。今天最终好了,看到了一个实用的东西。PDB

方法一:执行 python -m pdb myscript.py

(Pdb) 会自己主动停在第一行。等待调试,这时你能够看看 帮助

(Pdb) h

说明下这几个关键 命令



<断点设置 

(Pdb)b 10 #断点设置在本py的第10行

或(Pdb)b ots.py:20 #断点设置到 ots.py第20行

删除断点(Pdb)b #查看断点编号

(Pdb)cl 2 #删除第2个断点



<执行

(Pdb)n #单步执行

(Pdb)s #细点执行 也就是会下到,方法

(Pdb)c #跳到下个断点

<查看

(Pdb)p param #查看当前 变量值

(Pdb)l #查看执行到某处代码

(Pdb)a #查看所有栈内变量



<假设是在 命令行里的调试为:

import pdb

def tt():

pdb.set_trace()

for i in range(1, 5):

print i



<<< tt()

#这里支持 n p c 而已

< (3)tt()

(Pdb) n

python Debug 单步调试的更多相关文章

  1. VC++6.0 Debug单步调试

    相信大家对谭浩强童鞋都不陌生,想当年,是他 引领我们步入了C的殿堂,我们从他那里学会了如何写代码,他却没有教我们如何Debug,而我们伟大的老师,也对此只字不提.相信很少有人可以一次性写出 完全正确的 ...

  2. Python的功能模块[4] -> pdb/ipdb -> 实现 Python 的单步调试

    pdb / ipdb 模块 / pdb / ipdb Module pdb 和 ipdb 的主要作用是用于 Python 程序的单步调试,Python 的调试可参考链接. 下面是一个简单的使用示例 i ...

  3. Pycharm的debug单步调试

    首先设置断点,点击行号显示的一侧,在指定行设置断点.比如这里,我们设断点在创建对象时: .如果这时我们直接右键run这个代码.他还是会直接运行,不会理会断点 结果 所以要右键选择run下面的debug ...

  4. 自己动手实现java断点/单步调试(二)

    自从上一篇<自己动手实现java断点/单步调试(一)> 是时候应该总结一下JDI的事件了 事件类型 描述 ClassPrepareEvent 装载某个指定的类所引发的事件 ClassUnl ...

  5. Python如何实现单步调试

    遇到大型python项目,如何定位问题和监控程序的运行状态是一个程序员必须掌握的技能,今天小编为你带来python程序的单步调试方法,方便易用,简单易记! 首先你需要在所调试程序的开头中:import ...

  6. Python - 单步调试

    Python 有一个单步调试器模块,能实现基本的调试效果!详情请看Python标准文档说明:https://docs.python.org/2/library/pdb.html 调试例子: >& ...

  7. 使用spyder编译器单步调试python

    1.将需要进行单步调试的函数在脚本中进行调用(十分重要的一步).由于python是解释型语言,在进行单步调试的时候需要告诉系统你使用了这个函数,单步调试才会进入你所需要调式的函数.如下图所示,我们定义 ...

  8. Intellij idea远程debug连接tomcat,实现单步调试

    转载:http://blog.csdn.net/boling_cavalry/article/details/73384036 web项目部署到tomcat上之后,有时需要打断点单步调试,如果用的是I ...

  9. python debug调试

    ------------恢复内容开始------------ 一.debug 1.step over f8(单步调试) 2.进入到下一个断点 3.运行到指定行 4.进入到对应的代码行,(和单步调试配合 ...

随机推荐

  1. Ueditor文本编辑器(新浪SAE平台版本) - 下载频道 - CSDN.NET

    Ueditor文本编辑器(新浪SAE平台版本) - 下载频道 - CSDN.NET Ueditor文本编辑器(新浪SAE平台版本)

  2. rnqoj-49-加分二叉树-(区域动归+记忆化)

    区域动归的问题 #include<stdio.h> #include<string.h> #include<iostream> #include<algori ...

  3. c#将输入的人民币数字金额转换成小写

    //// <summary> /// 人民币大小写金额转换 /// </summary> class RMBCapitalization { private const str ...

  4. 单调队列-hdu-3415-Max Sum of Max-K-sub-sequence

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3415 题目大意: 给n个数凑成环状,求某一区间,使得该区间长度不超过k,且总和最大. 解题思路: 区 ...

  5. SpringMVC的值传递

    值的传递分为从页面传到到controller和从controller传递到页面,下面分别进行介绍: package com.springmvc.web; import java.util.Map; i ...

  6. JavaScript脚本语言的正则校验法

    正则校验法有很多种类型,有些可能会比较复杂难记,我这里罗列了大家常用的几种方法,方便查询. //校验是否全由数字组成 function isShuZi(s) { var patrn=/^[0-9]{1 ...

  7. URI--http://zh.wikipedia.org/wiki/%E7%BB%9F%E4%B8%80%E8%B5%84%E6%BA%90%E6%A0%87%E5%BF%97%E7%AC%A6

    维基百科,自由的百科全书     在电脑术语中,统一资源标识符(Uniform Resource Identifier,或URI)是一个用于标识某一互联网资源名称的字符串. 该种标识允许用户对网络中( ...

  8. 关于textField

    如果想给textField设置背景图片,首先设置该控件的bounder Style为最左边的无style,然后设置背景图片   如果设置textField弹出键盘 的发送按钮:设置右侧Return K ...

  9. <转>Java 理论与实践: 正确使用 Volatile 变量

    Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”:与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少, ...

  10. 班上有学生若干名,已知每名学生的成绩(整数),求班上所有学生的平均成绩,保留到小数点后两位。同时输出该平均成绩整数部分四舍五入后的数值。 第一行有一个整数n(1<= n <= 100),表示学生的人数。其后n行每行有1个整数,表示每个学生的成绩,取值在int范围内。

    #include<iostream> #include<iomanip> using namespace std ; int main() { int n; while(cin ...