代码之家  ›  专栏  ›  技术社区  ›  Paul Wicks asgeo1

当到达gdb中的断点时,是否可以停止所有其他线程的执行?

  •  3
  • Paul Wicks asgeo1  · 技术社区  · 17 年前

    3 回复  |  直到 17 年前
        1
  •  2
  •   Employed Russian    17 年前
        2
  •  4
  •   stefanB    17 年前

    当你继续停止的线程时,所有其他线程也将继续,除非你这样做 set scheduler-locking on 请注意,任何 step , next 等等。 当前(以及所有其他)线程(在适当的位置设置临时断点后,例如在下一行 下一个 命令)。

    也许您希望能够单步停止线程而不恢复所有其他线程?在这种情况下, 设置调度程序锁定

    注意:如果另一个线程持有锁,则打开调度程序锁定,并且当前线程也需要相同的锁,则程序将无限期等待。如果其中一个线程位于malloc/realloc内部,并且您当前的语句试图分配一些内存,则经常会出现这种情况。

    set scheduler-locking off continue

        3
  •  1
  •   lothar    17 年前

    这是GDB的默认设置。启用 Non-Stop Mode 使用 .

    推荐文章