python pdb调试以及sublime3快捷键设置
python pdb调试以及sublime3快捷键设置
pdb调试
如果对gdb比较熟悉的话,pdb就很容易上手。以一个demo快速了解常用的调试命令。
def test(a):
while True:
if a > 10:
break
a += 1
return a
if __name__ == '__main__':
test(1)
- python -m pdb test.py进入调试环境
- b test
在test函数处设置断点,断点号为1
(Pdb) b test
Breakpoint 1 at f:\python\pdb\test.py:1
- b 2
在第二行设置断点,断点号为2
(Pdb) b 2
Breakpoint 2 at f:\python\pdb\test.py:2
- condition 2 a7
在2号断点处设置条件 a7 - b
显示所有断点信息
(Pdb) b
Num Type Disp Enb Where
1 breakpoint keep yes at f:\python\pdb\test.py:1
2 breakpoint keep yes at f:\python\pdb\test.py:2
stop only if a==7
- cl 1
去除1号断点,只有cl删除所有断点
(Pdb) cl 1
Deleted breakpoint 1
- n
单步跟踪,不进入函数
(Pdb) n
> f:\python\pdb\test.py(8)<module>()
-> if __name__ == '__main__':
(Pdb) n
> f:\python\pdb\test.py(9)<module>()
-> test(1)
- s
单步跟踪,进入函数
(Pdb) s
--Call--
> f:\python\pdb\test.py(1)test()
-> def test(a):
- c
继续运行在 a==7 条件断点处停止 - p a
此时,打印a的值为7
(Pdb) c
> f:\python\pdb\test.py(2)test()
-> while True:
(Pdb) p a
7
- a
打印所在函数参数
(Pdb) a
a = 7
- l
查看运行到某处代码
(Pdb) l
1 def test(a):
2 B-> while True:
3 if a > 10:
4 break
5 a += 1
6 return a
7 if __name__ == '__main__':
8 test(1)
[EOF]
- quit
退出
sublime设置
sublime设置快捷键F5为运行,Ctrl+F5调试。就会对python调试方便很多。
- Package Control中下载SublimeREPL(Read-Eval-Print-Loop)
- Preferneces -> Key Bingdings-User进行设置
[
{
"keys": [
"f5"
],
"caption": "SublimeREPL: Python - RUN current file",
"command": "run_existing_window_command",
"args": {
"id": "repl_python_run",
"file": "config/Python/Main.sublime-menu"
}
},
{
"keys": [
"ctrl+f5"
],
"caption": "SublimeREPL: Python - PDB current file",
"command": "run_existing_window_command",
"args":
{
"id": "repl_python_pdb",
"file": "config/Python/Main.sublime-menu"
}
}
]
python pdb调试以及sublime3快捷键设置的更多相关文章
- Python PDB调试处理
pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变量的值等.pdb 提供了 ...
- python pdb 调试
命令行 Python -m pdb xxx.py l ----> list 显示当前代码 n ----> next 向下执行一行代码 c ----> continue 继续执行代码 ...
- python pdb调试
在交互环境中通常使用pdb.run来调试: import pdb def pdb_test(arg): for i in range(arg): print(i) return arg pdb.run ...
- python pdb调试模块使用
一般在需要调试的文件加入下面代码即可 ################ _DEBUG = True ... if _DEBUG == True import pdb pdb.set_trace() # ...
- 使用pdb调试python
python pdb调试 python -m pdb myscript.py #注意这会重启myscript.py,这样启动的话,代码每一行都是一个节点 也可以在程序中这么设置断点: import p ...
- Python 代码使用pdb调试技巧
Debug 对于任何开发人员都是一项非常重要的技能,它能够帮助我们准确的定位错误,发现程序中的 bug.python 提供了一系列 debug 的工具和包,可供我们选择.本文将主要阐述如何利用 pyt ...
- python学习笔记之pdb调试
之前一直说要学python可还是一直停留在看的层面,昨天大神手把书教我pdb调试,说要摆脱IDE集成开发环境编程,感激不尽,立一个flag,python一定要入门! 1.进入方式 1)windows ...
- python错误调试print、assert、logging、pdb、pdb.set_trace()
世界人都知道,程序总会有bug存在.复杂点的bug一般人不能一眼看出,这就一要一套调试程序的手段. 方法一:使用print()函数直接打印: >>> def foo(s): ... ...
- Pdb— Python的调试器
参考:Pdb- Python的调试器 pdb 模块定义了一个交互式源代码调试器,用于 Python 程序.它支持在源码行间设置(有条件的)断点和单步执行,检视堆栈帧,列出源码列表,以及在任何堆栈帧的上 ...
随机推荐
- Php开源项目大全
WordPress [PHP开源 博客Blog] WordPress是最热门的开源个人信息发布系统(Blog)之一,基于PHP+MySQL构建.WordPress提供的功能包括: 1.文章发布.分类 ...
- Android源码学习(一) 数据集观察者
查看Android源码发现这个,决定记下下来. 1.在android.database这个包下面,存在这样一个抽象类DataSetObserver,里面包括onChanged()和onInvalida ...
- 随记1(#define a 10和const int a=10)
正是求职笔试旺季,前几天听说有人遇到此题:#define a 10 和const int a=10的区别,废话不多说,下面来解释一下: #define 指令是定义符号常量 const 定义的是常变 ...
- CFILE追加写入文件
CFile file; file.Open(strName, CFile::modeWrite|CFile::modeNoTruncate|CFile::modeCreate); ) { file.S ...
- jedis入门一
一.下载Jedis的依赖包jedis-2.1.0.jar,然后将其添加到classpath下面. 1. 定义连接:Redis暂时不要设置登录密码 Jedis jedis = new Jedis(&qu ...
- 监听enter事件
document.onkeydown=keyDownSearch; function keyDownSearch(e) { // 兼容FF和IE和Opera var theEvent = e || w ...
- jQuery中的类型判断
在JQuery中有一个type方法,在1.11.2中是这样写的 var class2type = {}; var toString = class2type.toString; jQuery.each ...
- jquery写的tab切换效果 非常简单
自己写的一款 tab切换效果,比较简单,适合新手 <style type="text/css">*{margin:0; padding:0; font-size:12p ...
- mini KMS Activator v1.3破解激活microsoft Office 2010 RTM
利用mini KMS Activator v1.3破解激活microsoft Office 2010 RTM方法,只是为体验office而做测试使用的哦...大家觉得好就自觉购买正版去... 使用步骤 ...
- lua IDE for cocos2d-x development
原文链接:http://hi.baidu.com/balduc0m/item/648093dad238bd2a39f6f78e lua IDE for cocos2d-x development -- ...