如何使用 ipdb 在 Python 中进行交互式调试

2023-04-13 00:00:00 调试 如何使用 ipdb

首先需要在代码中引入 ipdb 模块:

import ipdb

然后在代码需要调试的地方使用下面的代码来设置断点:

ipdb.set_trace()

例如:

import ipdb

def function():
    name = "pidancode.com"
    ipdb.set_trace()
    print("Hello " + name)

function()

当代码执行到 ipdb.set_trace() 时,会进入 ipdb 的交互式界面,可以在此界面中打印变量、执行代码等操作来进行调试。例如可以查看 name 变量的值:

> <ipython-input-1-266dc1e05e92>(5)function()
      3     name = "pidancode.com"
      4     ipdb.set_trace()
----> 5     print("Hello " + name)

ipdb> name
'pidancode.com'

可以使用 n 命令执行下一行代码,使用 c 命令继续执行到下一个断点(如果有的话),使用 s 命令进入函数内部,可以使用 h 命令查看帮助文档。

在 ipdb 交互式界面中,还可以执行任意 Python 代码,例如:

ipdb> name = "皮蛋编程"
ipdb> name
'皮蛋编程'

调试完成后,使用 q 命令退出交互式界面,程序会继续正常执行。

相关文章