python快捷调试方法
欢迎访问Coolver教程
你好! 这是你第一次使用Coolver的教程。如果你想学习更多相关知识和第一手资料, 可以加入我创建的QQ群:818045141,可以跟更多朋友及我本人交流。
简单介绍
调试应用程序有时可能是不受欢迎的活动。您正忙于时间紧迫的工作,只是希望它能工作。但是,在其他时候,您可能正在学习一种新的语言功能或尝试一种新的方法,并且想更深入地了解某些东西是如何工作的。
无论哪种情况,调试代码都是必需的,因此最好在调试器中工作是一个好主意。在本教程中,我将向您展示使用pdb(Python的交互式源代码调试器)的基础。
我将向您介绍pdb的一些常见用法。您可能需要将本教程添加为书签,以便以后在实际需要时可以快速参考。pdb和其他调试器是必不可少的工具。当您需要调试器时,没有替代品。您真的需要它。
在本教程结束时,您将知道如何使用调试器查看应用程序中任何变量的状态。您还可以随时停止和恢复应用程序的执行流程,因此您可以准确地看到每一行代码如何影响其内部状态。
这对于跟踪难以发现的错误非常有用,并且可以使您更快,更可靠地修复错误代码。有时,单步执行pdb中的代码并查看值如何更改可能会真正使人大开眼界,并导致“ aha”时刻以及偶尔的“脸掌”。
pdb是Python标准库的一部分,因此它始终存在并且可以使用。如果您需要在无法访问自己熟悉的GUI调试器的环境中调试代码,则可以节省生命。
快捷的使用方式
你可以在需要的地方插入此行代码,然后正常运行程序即可:
import pdb; pdb.set_trace()
python3.7及以上的优化
python3.7开始内置了调试的方法,您只需要简单地加一句:
breakpoint()
代码就是自动的调用import pdb; pdb.set_trace()
来中断
如何使用
Command | Description |
---|---|
p | Print the value of an expression. |
pp | Pretty-print the value of an expression. |
n | Continue execution until the next line in the current function is reached or it returns. |
s | Execute the current line and stop at the first possible occasion (either in a function that is called or in the current function). |
c | Continue execution and only stop when a breakpoint is encountered. |
unt | Continue execution until the line with a number greater than the current one is reached. With a line number argument, continue execution until a line with a number greater or equal to that is reached. |
l | List source code for the current file. Without arguments, list 11 lines around the current line or continue the previous listing. |
ll | List the whole source code for the current function or frame. |
b | With no arguments, list all breaks. With a line number argument, set a breakpoint at this line in the current file. |
w | Print a stack trace, with the most recent frame at the bottom. An arrow indicates the current frame, which determines the context of most commands. |
u | Move the current frame count (default one) levels up in the stack trace (to an older frame). |
d | Move the current frame count (default one) levels down in the stack trace (to a newer frame). |
h | See a list of available commands. |
h | Show help for a command or topic. |
h | pdb Show the full pdb documentation. |
q | Quit the debugger and exit. |
reference
参考列表如下