前言
前面介绍了运行Python程序的方法。有时在程序运行过程中想查看变量的值,例如在下面程序中,如果想在第三条语句print(c)
运行之前查看变量r
的值,一个方法是在print(c)
之前加一条语句print(r)
,但如果程序前面还定义了其它变量并且想同时查看其它变量的值,就不得不再添加别的print()
语句并重新运行,这种方法会很麻烦。用调试工具可以解决这个问题。
r = 3
c = 2 * 3.14 * r
print(c)
命令窗口中的调试方法
首先在命令窗口中切换到要调试的Python程序所在的目录:
然后输入以下命令(pdb
应该是指Python debug
):
py -m pdb first.py
命令窗口中会出现将要执行的第一条语句(还未执行)r = 3
。然后就可以在(Pdb)
后面输入调试命令。常用的调试命令如下:
命令 | 功能 |
---|---|
l | 列出从将要执行的代码开始往后的10行代码,l 就是list 的首字母 |
ll | 列出当前程序的所有代码 |
p | 打印变量的值,例如p r 查看变量r 的值 |
s | 执行当前行语句,并到下一行,s 是step 首字母 |
b | 添加断点。例如b 3 在第3行添加断点,断点 的英语就是break |
c | 运行程序,直到遇到下一个断点才停下来 |
whatis | 查看变量的类型,例如whatis r 查看变量r 的类型 |
q | 退出调试并停止执行程序 |
下面是运用调试命令的一个示例,注意(Pdb)
后面的内容就是输入的调试命令:
另外,Python能执行的命令在(Pdb)
后面一样可以输入。
Sublime Text
中的调试方法
在Sublime Text
中按快捷键ctrl+B,可以运行Python程序,但运行程序时弹出的窗口似乎不能输入东西,只能显示运行结果。在Sublime Text
中调试需要安装SublimeREPL
,下面是安装步骤。
1.Install Package Control。选择Tools -> Install Package Control...
。
安装成功后会提示以下内容:
2.启动Install Package
选择Tools -> Command Palette
,或按快捷键ctrl+shift+P。
在输入框中输入install package
,然后点击搜索结果中的第一个。
3.安装SublimeREPL
在弹出的输入框中输入sublimerepl
,然后点击第一个搜索结果安装这个包。安装可能需要几秒钟,在左下角可以看到安装的状态。
安装成功后在Tool
菜单中会有SublimeREPL
。
4.调试
然后切换到Python程序所在的那个标签页,选择Tools -> SublimeREPL -> Python -> Python - PDB current file
,就会启动一个命令窗口,在这个窗口中就可以进行调试了。
5.改进
可以添加调试的快捷键,这样就不用每次调试都去菜单栏找。添加快捷键的方法如下:
选择Preferences -> Key Bindings
,在右侧的窗口中将内容替换为以下代码完成添加快捷键,“keys:”
后的f5
也可以改成其它按键,但不能和已有的快捷键相同。
[
{
"keys": ["f5"],
"caption": "SublimeREPL: Python - PDB current file",
"command": "run_existing_window_command",
"args": {
"id": "repl_python_pdb",
"file": "config/Python/Main.sublime-menu"
}
},
]
如果希望运行Python程序时也在SublimeREPL
中启动,可以再添加以下快捷键,添加后按f4就可以在SublimeREPL
中运行Python程序了。
[
{
"keys": ["f4"],
"caption": "SublimeREPL: Python - RUN current file",
"command": "run_existing_window_command",
"args": {
"id": "repl_python_run",
"file": "config/Python/Main.sublime-menu"
}
},
]
另外,有时希望能同时查看调试窗口和代码窗口,选择View -> Layout -> Columns: 2
,下次执行调试或者运行命令就会在另一列打开SublimeREPL
窗口了。