我想在 a 中保存断点的命令.pdbrc,例如:
b 81
commands 1
pp foo.attr1
pp foo.attr2
end
b 108
commands 2
pp bar.attr1
pp bar.attr2
end
Run Code Online (Sandbox Code Playgroud)
这将自动设置调试会话的环境。但是,这不适用于python -m pdb script.py,因为在该行中commands 1,pdb 提示符开始并询问我第一个断点的命令,而忽略我在 中写的内容.pdbrc;此外,它NameError在我end在 pdb 提示符下键入后引发 a ,因为foo.attr1,foo.attr2甚至end。其余的断点也会发生同样的情况,所以我最终设置了它们,但没有设置它们的命令。
这样做的正确方法是什么?甚至有可能吗?
我的第一个想法是该命令必须定义在一行上:
commands 1;; pp foo.attr1;; pp foo.attr2;; end;;
Run Code Online (Sandbox Code Playgroud)
但是,这似乎只能在提示符下起作用,并且您将错误地得到:
Usage : commands [bnum]
...
end
Run Code Online (Sandbox Code Playgroud)
如果将上面的行放在 .pdbrc 中
查看pdb.py,作者似乎没有正确处理 pdbrc 中的定义命令。
我个人会暂时将打印行放在我正在调试的代码中,同时使用 pdbrc 保存感兴趣的断点来解决这个问题。
| 归档时间: |
|
| 查看次数: |
1102 次 |
| 最近记录: |