【发布时间】:2011-03-24 01:22:57
【问题描述】:
在使用 Apache Zookeeper C 运行时库调试应用程序时,我在使用 GDB 中的默认全停止模式设置断点时遇到了问题。由于 Zookeeper 线程无法运行,服务器将使会话超时,从而删除您可能创建的任何临时 znode。使用不间断模式我可以防止这种情况发生,但是我失去了能够检查任何非 Zookeeper 线程状态的便利。
在 GDB 中是否有一种方法可以指定一个(或多个)线程在断点被命中时将继续在应用程序中运行,但其他线程将停止运行?这样我就可以检查我关心的线程的状态,而忽略那些我想在后台运行的线程的状态。
编辑:这本质上是not stopping all threads in gdb 的副本。使用不间断模式的后台命令的解决方案基本上解决了我的问题,因为我可以随时停止线程并异步重新启动它们,所以也许我们应该关闭这个。
【问题讨论】:
-
你的意思是»...,但其他人会被阻止«,对吧?
-
对。问题不是很清楚吗?编辑:修正错字
标签: c++ c gdb apache-zookeeper