将断点保存到fi

2024-06-01 01:25:08 发布

您现在位置:Python中文网/ 问答频道 /正文

调试Python代码时,我从命令行通过ipdb运行一个脚本,并设置一些断点。然后在一个或多个模块中进行一些更改,然后重新运行。但是,如果我只使用运行模块do not get reloaded。为了确保它们确实存在,我可以完全存在并重新启动Python,但之后我需要重置所有断点,如果我有很多断点并且反复执行,这是很乏味的。在

有没有一种方法可以将断点保存到(i)pdb中的文件中,以便在不改变行号的小更改之后,我可以转储断点,重新启动Python+pdb,然后重新加载断点?相当于Matlabs X = dbstatus,保存/加载{},并设置{}。在


Tags: 模块文件方法代码命令行脚本getnot
1条回答
网友
1楼 · 发布于 2024-06-01 01:25:08

您可以将断点保存到工作路径中的.pdbrc文件中,也可以全局保存到home dir。文件应该有如下内容:

# breakpoint 1
break /path/to/file:lineno

# breakpoint 2
break /path/to/file:lineno

您可以用各种方式定义断点,就像在交互模式中一样。所以只要break 4或{}也可以。在

这个文件同时适用于pdb和ipdb,因为后者拥有pdb所拥有的一切。在

奖金

您可以使用alias来更轻松地保存断点。 例如:

^{pr2}$

将上面的内容放到global.pdbrc中,并按如下方式使用:

> bs 15

这将为当前文件的第15行向本地.pdbrc文件追加一个断点语句。在

这不是完美的解决方案,但对我来说已经足够接近了。根据需要调整命令。在

Read more about aliases here.

相关问题 更多 >