gpt4 book ai didi

Python+PDB : how to stop at breakpoint in function called from within PDB?

转载 作者:行者123 更新时间:2023-11-28 18:53:21 27 4
gpt4 key购买 nike

我有一个 Python 程序,里面有一个函数 foo()。

我使用 PDB 运行程序,并在程序中某处的任意断点处停止。

现在,我可以很容易地从 PDB 中调用 foo(),我只需键入:

!foo()

foo 运行。一旦它完成,它就会回到 PDB,我仍然在我的程序之前所在的原始行等待。

但现在假设我希望 PDB 在断点处停止 within foo。我在我的源文件中的 foo() 的第一行设置了一个断点,然后执行 !foo()。

但是PDB并没有在断点处停止。如果在程序运行时从程序内部调用 foo() 而不是从 PDB 的命令行调用,它似乎只会停在那里。

有人知道解决这个问题的方法吗?我搜索了 PDB 文档和谷歌,但无济于事。

(我需要这样做的原因是因为我的程序需要一个小时来读取所有必要的数据以启动,我需要能够在单个调试 session 中尽可能多地进行调试,而不是简单地添加断点并重新运行程序。因此,以交互方式调用函数并在其中调试它们的灵 active 将非常有帮助。)

最佳答案

Python debugger: Stepping into a function that you have called interactively有答案:PDB 有一个“调试”命令,允许您在调试器中的函数调用上启动递归调试 session 。

关于Python+PDB : how to stop at breakpoint in function called from within PDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8358794/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com