我在哪里可以找到 pdb 源代码?

Where can I find the pdb source code?

我想修改 Python 3.4 内置调试​​器 pdb 的源代码(我假设它是用 Python 编写的)。我想添加一些代码,以便在我输入时:

pdb.set_trace(locals())

在我的代码中,它调用控制台中的标准 pdb 界面,并且还会自动显示有关我的本地环境变量的格式化信息,类似于下面的 table。

谁能告诉我 pdb 的源代码?

-------------------- Objects: -----------------------------------[2000]
[Name: dog]     [Data type: "Dog"]          [2100]
+------+-------+-------+-------+------------+------------+
|  ID  | breed | color |  name |    size    |    uuid    |
+------+-------+-------+-------+------------+------------+
| 2110 |  lynx | black | dog-3 | large!!!!! | e30475ad-9 |
+------+-------+-------+-------+------------+------------+
[Name: cat]     [Data type: "Cat"]          [2200]
+------+-------+-------+---------+------------+
|  ID  | breed | color |   name  |    size    |
+------+-------+-------+---------+------------+
| 2210 |  lynx | black | kitty-5 | large!!!!! |
+------+-------+-------+---------+------------+

-------------------- Lists of Objects: --------------------------[3000]
[Name: cats]     [Data type: "list"]          [3100]
+------+-------+-------+---------+------------+
|  ID  | breed | color |   name  |    size    |
+------+-------+-------+---------+------------+
| 3110 |  lynx | black | kitty-1 | large!!!!! |
| 3120 |  lynx | black | kitty-2 | large!!!!! |
| 3130 |  lynx | black | kitty-3 | large!!!!! |
| 3140 |  lynx | black | kitty-4 | large!!!!! |
| 3150 |  lynx | black | kitty-5 | large!!!!! |
+------+-------+-------+---------+------------+
[Name: dogs]     [Data type: "list"]          [3200]
+------+-------+-------+-------+------------+------------+
|  ID  | breed | color |  name |    size    |    uuid    |
+------+-------+-------+-------+------------+------------+
| 3210 |  lynx | black | dog-1 | large!!!!! | e30475ad-9 |
| 3220 |  lynx | black | dog-2 | large!!!!! | e30475ad-9 |
| 3230 |  lynx | black | dog-3 | large!!!!! | e30475ad-9 |
+------+-------+-------+-------+------------+------------+

pdb 只是作为标准库的一部分提供的普通模块。因此,您只需查看本地 lib 文件夹即可找到 pdb.py 来源。

当然你也可以上网看看,比如在 Python source repository.