在 Linux 系统下,使用 Python 命令行调试代码有多种方法,这里介绍两种常用的方法:使用 pdb
(Python 调试器)和使用 ipdb
(增强型 IPython 调试器)
-
使用
pdb
(Python 调试器):首先,在你的 Python 脚本中导入
pdb
模块,并在你想要调试的地方添加一个断点。例如,如果你想在第 4 行添加一个断点,你可以这样做:import pdb; pdb.set_trace() print("This line will not be executed")
保存脚本后,通过命令行运行它:
python your_script.py
当脚本执行到断点时,你将进入
pdb
调试模式。在这个模式下,你可以使用以下命令来调试代码:n
(next):执行下一行代码c
(continue):继续执行,直到遇到下一个断点q
(quit):退出调试器并终止脚本执行p expression
(print):打印表达式的值l
(list):显示当前执行点附近的代码s
(step):进入函数调用r
(return):执行代码直到从当前函数返回h
(help):显示帮助信息
-
使用
ipdb
(增强型 IPython 调试器):ipdb
是pdb
的增强版,它基于 IPython 交互式环境,提供了更丰富的调试功能。首先,确保你已经安装了ipdb
。如果没有安装,可以使用以下命令安装:pip install ipdb
然后,按照上面的方法在你的 Python 脚本中添加一个断点。保存脚本后,通过命令行运行它:
python your_script.py
当脚本执行到断点时,你将进入
ipdb
调试模式。在这个模式下,你可以使用以下命令来调试代码:n
(next):执行下一行代码c
(continue):继续执行,直到遇到下一个断点q
(quit):退出调试器并终止脚本执行p expression
(print):打印表达式的值l
(list):显示当前执行点附近的代码s
(step):进入函数调用r
(return):执行代码直到从当前函数返回h
(help):显示帮助信息w
(where):显示当前调用堆栈s
(step into):进入函数调用c
(continue into):继续执行,直到从当前函数返回p
(print):打印变量的值u
(up):向上移动调用堆栈d
(down):向下移动调用堆栈
ipdb
还提供了许多其他功能,如代码补全、语法高亮等,可以帮助你更高效地调试代码。