如何调试c++多线程程序?
展开全部
gdb有thread相关命令,如infothread(简写成infoth)显示线程消息,bxxthreadyy可以针对某个thread设置断点,threadxx(简写成thrxx)切换到某个thread。
再配合frame(简写f)相关的命令(比如up,down在不同frame间跳转),基本可以处理若干个不同的线程间的debug……
其他的debugger,应该也会有同样的功能。
不过如果用的线程比较多的话……建议还是写一些辅助函数,在debug过程中打印出tid,然后对比一些蹊跷的地方,效果会更好。
再配合frame(简写f)相关的命令(比如up,down在不同frame间跳转),基本可以处理若干个不同的线程间的debug……
其他的debugger,应该也会有同样的功能。
不过如果用的线程比较多的话……建议还是写一些辅助函数,在debug过程中打印出tid,然后对比一些蹊跷的地方,效果会更好。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询