1

ftp://ftp.gnu.org/old-gnu/Manuals/gdb/html_node/gdb_32.htmlで説明されているように、gdb を使用してブレークポイントを無効にすることができます。ドキュメントでは、すべてのブレークポイントを無効にするにはdisalbe、ブレークポイント リストなしで提供するように指示されています。しかし、私の ddd(data-display-debuger) では動作しません。どうすればいいですか?または、どのように範囲を指定できますか? (1-10 を試しましたが、うまくいきませんでした)。

編集:コマンドを使用してpythonデバッグにDDDを使用してddd -pydb prog.py arg1 arg2..いたので、実際にはgdbコマンドではなくpydbコマンドでした。回答についてはコメントを参照してください。後で、pydb の場合、delete引数を指定しないでコマンドを実行すると、すべてのブレークポイントが削除されることがわかりました。すべてのブレークポイントを無効にするには、gdb.py を変更して以下のコメントを参照する必要があります。

4

1 に答える 1

1

pydb がサポートするコマンドは gdb のコマンドと似ていますが、すべてが同じというわけではありません。現在、引数が指定されていない場合、pydb のdisableコマンドはエラーを返します。pydb のソース コード (/usr/share/pyshared/pydb/多くのシステムで にある可能性があります) を編集してdo_disable( で) 変更すると、 disablegdb.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
于 2016-08-21T00:22:31.453 に答える