如何退出pdb并允许程序继续?
我正在使用pdb模块来debugging程序。 我想了解如何退出pdb并让程序继续完成。 该程序在运行上运行起来很昂贵,所以我不想在脚本尝试完成的情况下退出。 continue
似乎没有工作。 我怎样才能退出pdb并继续我的程序?
continue
应该“继续执行,只有当遇到断点时停止”,所以你有一个断点设置的地方。 删除断点(如果您手动插入):
(Pdb) break Num Type Disp Enb Where 1 breakpoint keep yes at /path/to/test.py:5 (Pdb) clear 1 Deleted breakpoint 1 (Pdb) continue
或者,如果你使用的是pdb.set_trace()
,你可以试试这个(虽然如果你使用更奇特的方式使用pdb,这可能会破坏…)
(Pdb) pdb.set_trace = lambda: None # This replaces the set_trace() function! (Pdb) continue # No more breaks!
一个简单的Ctrl – D将突破pdb。 如果你想继续而不是打破,只需按c而不是整个continue
命令
如果你真的想退出debugging器,那么你需要运行一些类似于WinPdb的东西,它允许你从进程中分离,然后退出debugging器(注意它是多平台的)。
如果你想继续debugging,但不再停在给定的断点,那么你需要:
- 记下断点编号(或文件和行号),
- 可以使用
cl bp_number
或clear file:line
来永久删除断点, 也可以disable pb_number
来将其closures,但可以将其切换回来。 - 然后
continue
,你的程序运行到下一个不同的断点。
有关上述的更多细节,请参阅手册 。