Python调试线程应用程序 Python测试线程应用程序 Python基准测试和分析 在本章中,我们将学习如何调试线程应用程序。我们还将了解调试的重要性。 什么是调试? 在计算机编程中,调试是从计算机程序中查找和删除错误,错误和异常的过程。一旦代码被编写就开始该过程,并且随着代码与其他编程单元组合以形成软件产品,该过程在连续阶段中继续。调试是软件测试过程的一部分,是整个软件开发生命周期中不可或缺的一部分。 Python调试器 Python调试器或 pdb 是Python标准库的一部分。它是一个很好的后备工具,用于跟踪难以发现的错误,并允许我们快速可靠地修复错误的代码。以下是 pdp 调试器的两个最重要的任务 它允许我们在运行时检查变量的值。 我们也可以单步执行代码并设置断点。 我们可以通过以下两种方式使用pdb 通过命令行; 这也称为事后调试。 通过交互式运行pdb。 使用pdb 要使用Python调试器,我们需要在我们想要进入调试器的位置使用以下代码 import pdb; pdb.set_trace() 请考虑以下命令以通过命令行使用pdb。 h(help) d(down) u(up) b(break) cl(clear) l(list)) n(next)) c(continue) s(step) r(return)) b(break) 以下是Python调试器的h(help)命令的演示 - import pdb pdb.set_trace() --Call-- >d:\programdata\lib\site-packages\ipython\core\displayhook.py(247)__call__() -> def __call__(self, result = None): (Pdb) h Documented commands (type help <topic>): ======================================== EOF c d h list q rv undisplay a cl debug help ll quit s unt alias clear disable ignore longlist r source until args commands display interact n restart step up b condition down j next return tbreak w break cont enable jump p retval u whatis bt continue exit l pp run unalias where Miscellaneous help topics: ========================== exec pdb 例 在使用Python调试器时,我们可以使用以下行在脚本中的任何位置设置断点 import pdb; pdb.set_trace() 设置断点后,我们可以正常运行脚本。脚本将执行到某一点; 直到设置了一条线。考虑以下示例,我们将在脚本中的不同位置使用上述行来运行脚本 import pdb; a = "aaa" pdb.set_trace() b = "bbb" c = "ccc" final = a + b + c print (final) 当运行上面的脚本时,它将执行程序直到a =“aaa”,我们可以在下面的输出中检查它。 输出 --Return-- > <ipython-input-7-8a7d1b5cc854>(3)<module>()->None -> pdb.set_trace() (Pdb) p a 'aaa' (Pdb) p b *** NameError: name 'b' is not defined (Pdb) p c *** NameError: name 'c' is not defined 在pdb中使用命令'p(print)'后,此脚本仅打印'aaa'。之后是错误,因为我们已将断点设置为a =“aaa”。 同样,我们可以通过更改断点来运行脚本并查看输出中的差异 import pdb a = "aaa" b = "bbb" c = "ccc" pdb.set_trace() final = a + b + c print (final) 输出 --Return-- > <ipython-input-9-a59ef5caf723>(5)<module>()->None -> pdb.set_trace() (Pdb) p a 'aaa' (Pdb) p b 'bbb' (Pdb) p c 'ccc' (Pdb) p final *** NameError: name 'final' is not defined (Pdb) exit 在下面的脚本中,我们在程序的最后一行设置断点 import pdb a = "aaa" b = "bbb" c = "ccc" final = a + b + c pdb.set_trace() print (final) 输出如下 --Return-- > <ipython-input-11-8019b029997d>(6)<module>()->None -> pdb.set_trace() (Pdb) p a 'aaa' (Pdb) p b 'bbb' (Pdb) p c 'ccc' (Pdb) p final 'aaabbbccc' (Pdb) Python测试线程应用程序 Python基准测试和分析