如何在DDD调试器(pydb模式)中一次禁用所有断点



使用gdb,我们可以禁用断点,详见ftp://ftp.gnu.org/old-gnu/Manuals/gdb/html_node/gdb_32.html。在文档中,要禁用所有的断点,它说只提供disalbe而不提供断点列表。但是在我的ddd(数据显示调试器)中,它不起作用。我该怎么做呢?或者我如何指定范围?(我尝试了1-10,但没有工作)。

编辑:我使用DDD为python调试使用命令ddd -pydb prog.py arg1 arg2..,所以它实际上是pydb命令,而不是gdb命令。看到答案的评论,我后来发现,对于pydb,命令delete不带任何参数删除所有的断点。要禁用所有的断点,您必须修改gdb.py并查看下面的注释。

pydb支持的命令与gdb中的命令类似,但它们并不完全相同。目前,pydb的disable命令如果没有给出参数就会给出错误。您可以编辑pydb的源代码(它可能在许多系统的/usr/share/pyshared/pydb/中找到)并更改do_disable(在gdb.py中),以便如果没有给禁用参数,它将禁用所有断点:

*** gdb.py.orig 2009-11-17 17:00:21.000000000 -0800
--- gdb.py  2016-08-20 17:12:09.561338798 -0700
***************
*** 1067,1069 ****
          if len(args) == 0:
!             self.errmsg('No breakpoint number given.')
              return
--- 1067,1071 ----
          if len(args) == 0:
!             for bp in bdb.Breakpoint.bpbynumber:
!                 if bp:
!                     bp.disable()
              return

相关内容

  • 没有找到相关文章

最新更新