如何调试c++多线程程序?
发布网友
发布时间:2022-04-27 03:25
我来回答
共1个回答
热心网友
时间:2022-04-30 10:52
gdb有thread相关命令,如infothread(简写成infoth)显示线程消息,bxxthreadyy可以针对某个thread设置断点,threadxx(简写成thrxx)切换到某个thread。
再配合frame(简写f)相关的命令(比如up,down在不同frame间跳转),基本可以处理若干个不同的线程间的debug……
其他的debugger,应该也会有同样的功能。
不过如果用的线程比较多的话……建议还是写一些辅助函数,在debug过程中打印出tid,然后对比一些蹊跷的地方,效果会更好。